【问题标题】:Get all attributes with the same name获取所有同名属性
【发布时间】:2014-09-08 15:32:35
【问题描述】:

我正在使用XDocument,如果节点的名称与另一个不同,我需要解析我的 XML 文件以检索具有相同名称事件的所有属性。 例如,对于这个 XML:

<document>
    <person name='jame'/>
    <animals>
          <dog name='robert'/>
    </animals>
</document>

我想检索所有名为“name”的属性。

我可以使用一个请求 XPath 来做到这一点,还是需要解析每个节点才能找到这些属性?

感谢您的帮助!

【问题讨论】:

    标签: c# xpath


    【解决方案1】:

    XPath 表达式

    //@name
    

    将选择所有名为 name 的属性,无论它们出现在何处。

    顺便说一句,“解析”是在 XPath 进入图片之前发生在 XML 文档上的事情。所以当你说“我需要解析每个节点吗”时,我认为这并不是你的意思。在运行 XPath 查询之前,通常已经解析了整个文档。但是,我不确定您的意思是什么,而不是“解析”。可能类似于“我需要访问每个元素”来查找这些属性吗?在这种情况下,答案是否定的,除非在某种模糊的依赖于实现的意义上对您没有任何影响。

    【讨论】:

    • 谢谢!!它完美地工作。你是对的。我的意思是“查看每个节点”而不是“重新解析整个文件”。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多