XPath 选择所有父节点不包含特定属性和值的节点

2023-12-29

我有以下 XML 结构:

<root>
  <Level1 IsEnabled="0"> <!-- Disabled -->
    <Level2 IsEnabled="1">
      <Level3 IsEnabled="1">
        <Level4 IsEnabled="1">
          <Child /> <!-- Don't include this one -->
        </Level4>
      </Level3>
    </Level2>
  </Level1>
  <Level1 IsEnabled="1">
    <Level2 IsEnabled="1">
      <Level3 IsEnabled="0"> <!-- Disabled -->
        <Level4 IsEnabled="1">
          <Child /> <!-- Don't include this one -->
        </Level4>
      </Level3>
    </Level2>
  </Level1>
  <Level1 IsEnabled="1">
    <Level2 IsEnabled="1">
      <Level3 IsEnabled="1">
        <Level4 IsEnabled="1">
          <Child /><!-- Include this one -->
        </Level4>
      </Level3>
    </Level2>
   </Level1>
</root>

我想选择其祖先不包含 IsEnabled="0" 的所有子节点。因此,对于上面的 XML,我只想选择最后一个子节点。此外,如果祖先节点不包含 IsEnabled 属性,则仍应包含子节点。


Q: 我想选择其祖先不包含 IsEnabled="0" 的所有子节点尝试这个:

//Child[not(ancestor::*[@IsEnabled='0'])]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

XPath 选择所有父节点不包含特定属性和值的节点 的相关文章

随机推荐