我需要选择"父"节点只有当没有子标签值"fail"。可以有多个子元素,这是非常动态的。
样本输入:<Parent>
<Parent-bro> bro1</Parent-bro>
....
<Father>
<Father-bro>...</Father-bro>
<Child>pass</Child>
<Child>testing</Child>
<Child>fail</Child>
</Parent>
如果子元素的值为fail,则不应选择空节点。
在单子代的情况下,我可以使用"Parent[//Father/child/text()!='fail']"进行选择。
但是现在,因为可以有一个子元素或100个子元素,我需要搜索,如果其中任何一个有值"失败"。仅当标签中没有包含值"Fail"时选择。谢谢你的帮助。
我需要选择"父"节点只有当没有子标签有值"失败"。可以有多个子元素,这是非常动态的。
不知道你说的"非常有活力"是什么意思。在您的示例中,Father
元素缺少结束标记-因此不清楚Child
是Father
还是Parent
的子元素。
这两种方式都可以:
Parent[not(.//Child='fail')]
而是一个显式路径,例如:
Parent[not(Father/Child='fail')]
或:
Parent[not(Child='fail')]
最好。