2010-08-20 5 views
1

Я ищу самый быстрый способ посчитать некоторые тегов в огромном XML-файл (120MB)XPATH Оценивать против XPathNodeIterator

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

Вы только хотите получить отсчеты из этого файла, или вы на самом деле нужно содержание для других целей? Если вам просто нужны подсчеты, и файл такой большой, вероятно, более эффективно использовать SAX Parser, поймать события на соответствующих узлах и увеличивать эти события.