代码之家  ›  专栏  ›  技术社区  ›  7gegenTheben

Xpath如何在节点选择上使用and语句和父条件

  •  0
  • 7gegenTheben  · 技术社区  · 7 年前

    假设我有这样一个XML:

    <my-parent-tag attr="">
      <my-child-tag/>
    </my-parent-tag>
    <my-child-tag/> <!--I don't want to select this one-->
    

    我想查找所有具有父节点my parent标记attr=“”的子标记。如何在Xpath中表达这一点?我试过了

    //my-child-tag and [../my-parent-tag[@attr='']]
    

    但是,我最终得到了Xpath无节点选择反馈。感谢您的帮助:)

    3 回复  |  直到 7 年前
        1
  •  2
  •   lauda    7 年前

    为什么不直接使用正则表达式 //parent/child

    从具有以下属性的父对象中选择所有子体标记:

    //my-parent-tag[@attr='']//my-child-tag
    

    从具有以下属性的父项中选择所有子标记:

    //my-parent-tag[@attr='']/my-child-tag
    
        2
  •  0
  •   Amrendra Kumar    7 年前

    您可以使用 //my-child-tag[parent::my-parent-tag[@attr='']]

        3
  •  0
  •   kjhughes    7 年前

    此XPath,

    //my-parent-tag[@attr='']/my-child-tag
    

    将选择全部 my-child-tag 父元素为的元素 my-parent-tag 有一个 attr 属性值 '' .