我正在寻找在巨大的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;
}
有什么建议吗?
问候和提前谢谢
答案 0 :(得分:0)
你只是想要从这个文件中获取计数,还是你真的需要这些内容用于其他目的?如果您只需要计数,并且文件很大,则使用SAX Parser可能更有效,捕获相关节点上的事件,并增加这些事件。