【问题标题】:When do you use XPath over XmlDocument or XmlTextReader?何时在 XmlDocument 或 XmlTextReader 上使用 XPath?
【发布时间】:2010-10-21 03:17:51
【问题描述】:
什么时候使用 XPath 而不是 XmlDocument?
我正在尝试从更高的层面看待事物。是否存在使用 XPath 而不是 XmlDocument 更好的情况?
【问题讨论】:
标签:
asp.net
xml
xpath
xmldocument
【解决方案1】:
XPath 和 XmlDocument 不是专有的东西。 XPath 是 W3C 定义的一种语言,允许使用类似路径的语法来查询 XML 文档。 XmlDocument 是一个 .NET 类,它抽象出很多关于 XML 解析的内容。 XmlDocument 有SelectNodes 和SelectSingleNode 等方法,它们将XPath 表达式作为参数并返回结果。
我不明白为什么你似乎认为 XPath 和 XmlDocument 不能一起使用,或者我完全误解了你。
【解决方案2】:
当出于某种原因需要XmlDocument 而不是XPathDocument 或XDocument 时,它们都支持内存模型中重量更轻的XPath。
XmlReader 适合线性读取文档,但不立即支持 XPath,但所有其他三个 API 都支持,但它们对其他功能的支持会有所不同。如果您希望提取数据,请考虑 XPathDocument(围绕 XPath 设计)或 XDocument(启用 LINQ to XML 类型方法)而不是 XmlDocument。