在同一级别的同名子节点的基础上选择父节点

时间:2015-09-24 05:12:29

标签: xml xslt xslt-1.0

我需要选择" Parent"节点仅当子标签没有值时才会出现"失败"。可以有多个Child元素非常动态。

示例输入:

<Parent>
<Parent-bro> bro1</Parent-bro>
....
<Father>
<Father-bro>...</Father-bro>
<Child>pass</Child>
<Child>testing</Child>
<Child>fail</Child>

</Parent>

示例输出 应该选择空白无节点,因为其中一个子元素值已失败。

我可以使用&#34;父母[//父亲/孩子/文字()!=&#39;失败&#39;]&#34;

选择单身儿童。

但是现在因为可以有一个子元素或100个子元素,我需要搜索其中任何一个元素是否具有值&#34;失败&#34;。仅当标签中没有任何值包含值时才选择&#34;失败&#34;。 谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)

  

只有当子标记都没有值时,我才需要选择“父”节点   “失败”。可以有多个Child元素非常动态。

不确定你的意思是“非常有活力”。在您的示例中,Father元素缺少结束标记 - 因此不清楚ChildFather还是Parent的孩子。

这应该是两种方式:

Parent[not(.//Child='fail')]

但是一个明确的路径,例如:

Parent[not(Father/Child='fail')]

或:

 Parent[not(Child='fail')]

是优选的。