在流上使用xpath

本文关键字:xpath | 更新日期: 2023-09-27 18:08:58

是否可以在使用streamreader(从internet获得的文件)的流XML文件上使用xpath ?

我知道我需要的数据的确切位置,但不确定如何最好地获得它?

谢谢

在流上使用xpath

使用XDocument.Load(Stream, LoadOptions)方法从流中解析XML。然后您可以使用XDocument.XPathEvaluate来获取该值。

虽然理论上可以构建一个在流上执行XPath查询的流阅读器,但我不知道有任何这样的实现;. net框架中的XPath处理器(XDocumentXmlDocumentXPathDocument)都在执行查询之前将文档读入内存。所有这些对象都可以读取流。

如果关注速度,XPathDocumentXPathNavigator可能是最快的,因为这些对象允许您在执行查询时直接遍历节点,而不是执行查询并返回节点列表供您遍历。(实际上XDocument.XPathEvaluate也可以这样做;文档没有说。)