【发布时间】:2011-11-20 11:41:24
【问题描述】:
是否可以使用streamreader(从互联网获得的文件)在流式xml文件上使用xpath?
我知道我需要的数据的确切位置,但不确定如何最好地获取它?
谢谢
【问题讨论】:
标签: c# xml stream streamreader
是否可以使用streamreader(从互联网获得的文件)在流式xml文件上使用xpath?
我知道我需要的数据的确切位置,但不确定如何最好地获取它?
谢谢
【问题讨论】:
标签: c# xml stream streamreader
使用XDocument.Load(Stream, LoadOptions) 方法从流中解析出XML。然后就可以使用XDocument.XPathEvaluate来获取值了。
【讨论】:
虽然理论上可以构建一个在流上执行 XPath 查询的流读取器,但我不知道有任何这样的实现; .NET 框架中的 XPath 处理器(XDocument、XmlDocument 和 XPathDocument)在执行查询之前都将文档读入内存。所有这些对象都可以读取流。
如果速度是一个问题,XPathDocument 和 XPathNavigator 可能是最快的,因为这些对象允许您在执行查询时直接迭代节点,而不是执行查询并返回节点列表你去迭代。 (其实XDocument.XPathEvaluate也可以这样做;文档没有说。)
【讨论】: