2011-09-19 2 views
4

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

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

Благодаря

ответ

0

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

0

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

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

Смежные вопросы