Использование xpath в потоке - PullRequest
       34

Использование xpath в потоке

4 голосов
/ 19 сентября 2011

возможно ли использовать xpath для потокового XML-файла с помощью Streamreader (файл, полученный из Интернета)?

Я знаю точное местоположение нужных мне данных, но не знаю, как лучше всего их получить?

Спасибо

Ответы [ 2 ]

0 голосов
/ 19 сентября 2011

Хотя теоретически было бы возможно создать потоковое считывающее устройство, выполняющее запрос XPath для потока, я не знаю ни одной такой реализации; процессоры XPath в .NET Framework (в XDocument, XmlDocument и XPathDocument) все считывают документ в память перед выполнением запроса. Все эти объекты могут читать потоки.

Если скорость имеет значение, XPathDocument и XPathNavigator, вероятно, будут самыми быстрыми, поскольку эти объекты позволяют напрямую выполнять итерации по узлам во время выполнения запроса, а не выполнять запрос и возвращать список узлов для вам перебирать. (На самом деле XDocument.XPathEvaluate может сделать это тоже; в документации не сказано.)

0 голосов
/ 19 сентября 2011

Используйте метод XDocument.Load(Stream, LoadOptions) для анализа XML из потока. Затем вы можете использовать XDocument.XPathEvaluate, чтобы получить значение.

...