我有以下功能:是否实例化XmlDocument昂贵?
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;
}
}
我应该怎么办?
你或许应该停止使用*静态*这么多。创建你自己的类,在构造函数中创建XmlDocument,所以你只做一次。 –