Если вы счастливы, читая все в память, используйте XDocument
.Это сделает вашу жизнь намного проще.LINQ to XML - это прекрасный API.
Используйте XmlReader
(например, XmlTextReader
), если вам нужно обрабатывать огромные XML-файлы в потоковом режиме., в принципе.Это гораздо более болезненный API, но он позволяет выполнять потоковую передачу (т. Е. Обрабатывать только те данные, которые вам нужны, поэтому вы можете просматривать огромный документ и иметь только небольшой объем памяти за раз).
Естьгибридный подход, однако - если у вас огромный документ, состоящий из маленьких элементов, вы можете создать XElement
из XmlReader
, расположенного в начале элемента, обработать элемент с помощью LINQ to XML, а затем переместитьXmlReader
на следующий элемент и начните снова.