【问题标题】:Xpath - How to select subnode where sibling-node contains certain textXpath - 如何选择兄弟节点包含某些文本的子节点
【发布时间】:2014-03-05 14:16:00
【问题描述】:

我想使用 XPath 来选择包含带有“ABC”的<name>-tag 的子树,而不是来自以下 xml 的另一个。这可能吗?作为一个小问题,我会使用哪些关键字在 Google 上找到类似的内容(例如,通过我拥有术语的属性选择子树)?

<root>
  <operation>
    <name>ABC</name>
    <description>Description 1</description>
  </operation>
  <operation>
    <name>DEF</name>
    <description>Description 2</description>
  </operation>
</root>

【问题讨论】:

    标签: xpath subtree


    【解决方案1】:

    使用

    /*/operation[name='ABC']
    

    第二个问题:我强烈建议不要依赖在线资源(有些不太好),而是阅读一本关于 XPath 的好书.

    查看此处列出的一些资源https://stackoverflow.com/questions/339930/any-good-xslt-tutorial-book-blog-site-online/341589#341589

    【讨论】:

      【解决方案2】:

      对于您的第一个问题,我认为更准确的方法是:
      //operation[./name[text()='ABC']]
      根据this,我们也可以做到:
      //operation[./name[text()[.='ABC']]]

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-08-06
        • 1970-01-01
        • 2011-11-24
        • 1970-01-01
        • 2021-11-15
        • 1970-01-01
        相关资源
        最近更新 更多