【问题标题】:xPath Evaluate vs XPathNodeIteratorxPath 评估与 XPathNodeIterator
【发布时间】:2010-08-20 13:22:40
【问题描述】:

我正在寻找在一个巨大的 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;
}

有什么建议吗?

提前问候和感谢

【问题讨论】:

    标签: sum xpath evaluate xpathnavigator xpathnodeiterator


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2010-11-03
      • 2018-03-31
      • 2013-07-13
      • 2022-08-24
      • 2013-07-16
      • 2021-10-03
      • 2013-11-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多