gpt4 book ai didi

c# - 实例化 XmlDocument 很昂贵吗?

转载 作者:数据小太阳 更新时间:2023-10-29 02:27:36 25 4
gpt4 key购买 nike

我有以下功能:

public static XmlNode GetXMLNodeFromString(string strXML)
{
XmlDocument doc = new XmlDocument();
doc.LoadXml(strXML);
return doc.DocumentElement;
}

可以在从数据库调用返回的一行代码中调用一百万次:

while (reader.Read())
{
myXMLList.Add(GetXMLNodeFromString((string)reader["GMLString"]));
}

有没有比为每一行不断实例化 xmlDocument 更好的方法?或者这样做可以吗?

我不想这样:

XmlDocument doc = new XmlDocument();
while (reader.Read())
{
myXMLList.Add(doc, GetXMLNodeFromString((string)reader["GMLString"]));
}

因为在所有现实中,我必须将它添加到一个函数树中。不仅仅是 GetXMLNodeFromString。

我可以做这样的事情吗:

public static class Common
{
public static XmlDocument doc = new XmlDocument();
public static XmlNode GetXMLNodeFromString(string strXML)
{
doc.LoadXml(strXML);
return doc.DocumentElement;
}
}

我该怎么办?

最佳答案

我推荐XmlReader如果您遇到性能问题,因为它允许您在 XML 传入时对其进行解析,而不是预先解析它并创建内存中的对象模型,无论如何您都将不得不再次返回。但是,它可能需要稍微重构您的代码,因为它为您提供顺序(而不是随机)访问。如果您不需要随机访问,这是一个不错的选择。

关于c# - 实例化 XmlDocument 很昂贵吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7587958/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com