【问题标题】:Using xpath on a stream在流上使用 xpath
【发布时间】:2011-11-20 11:41:24
【问题描述】:

是否可以使用streamreader(从互联网获得的文件)在流式xml文件上使用xpath?

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

谢谢

【问题讨论】:

    标签: c# xml stream streamreader


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      如果速度是一个问题,XPathDocumentXPathNavigator 可能是最快的,因为这些对象允许您在执行查询时直接迭代节点,而不是执行查询并返回节点列表你去迭代。 (其实XDocument.XPathEvaluate也可以这样做;文档没有说。)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-11-14
        • 1970-01-01
        • 2010-11-03
        • 2010-10-21
        • 2021-07-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多