1

我正在寻找在一个巨大的 xml 文件(120MB)中计算一些标签的最快方法

long Quantity;
XPathDocument xDocData = new XPathDocument(str_File_path);
XPathNavigator xNavData = xDocData.CreateNavigator();

//Option 1
XPathExpression xExp = xNavData.Compile("sum(Tag/Value)");
Quantity = Convert.ToInt64(xNavData.Evaluate(xExp));

//Option 2
XPathNodeIterator xNodeIter = xNavData.Select(xExp);
while(xNodeIter.MoveNext())
{
    Quantity += xNodeIter.Current.ValueAsLong;
}

有什么建议么?

提前问候和感谢

4

1 回答 1

0

只是想从该文件中获取计数,还是您实际上需要这些内容用于其他目的?如果您只需要计数,并且文件很大,那么使用SAX Parser捕获相关节点上的事件并增加这些事件可能会更有效。

于 2011-05-13T18:41:00.457 回答