是否可以在使用streamreader(从internet获得的文件)的流XML文件上使用xpath ?
我知道我需要的数据的确切位置,但不确定如何最好地获得它?
谢谢
使用XDocument.Load(Stream, LoadOptions)
方法从流中解析XML。然后您可以使用XDocument.XPathEvaluate
来获取该值。
虽然理论上可以构建一个在流上执行XPath查询的流阅读器,但我不知道有任何这样的实现;. net框架中的XPath处理器(XDocument
、XmlDocument
和XPathDocument
)都在执行查询之前将文档读入内存。所有这些对象都可以读取流。
如果关注速度,XPathDocument
和XPathNavigator
可能是最快的,因为这些对象允许您在执行查询时直接遍历节点,而不是执行查询并返回节点列表供您遍历。(实际上XDocument.XPathEvaluate
也可以这样做;文档没有说。)