Разбор xml в c #: объединить xmlreader и linq в xml - PullRequest
2 голосов
/ 11 августа 2011

Мне нужно проанализировать большой XML-файл в C #.Я использую LINQ-to-XML.У меня есть структура типа

<root>
       <node></node>
       <node></node>
</root>

Я хотел бы использовать XmlReader для цикла на каждом узле и использовать LINQ-to-XML для получения каждого узла и работы на нем?

Итак, яиметь только в памяти текущий узел.

1 Ответ

2 голосов
/ 11 августа 2011

Вы можете сделать что-то подобное:

string path = @"E:\tmp\testxml.xml";
using (var reader = XmlReader.Create(path))
{

    bool isOnNode = reader.ReadToDescendant("node");
    while (isOnNode)
    {
        var element = (XElement)XNode.ReadFrom(reader);

        // Use element with Linq to XML
        // ...

        isOnNode = reader.ReadToNextSibling("node");
    }
}
...