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 に答える