我有类似的东西:
<fieldset>
<field name='field1'></field>
</fieldset>
<fieldset>
<field name='field2'></field>
<field name='field3'></field>
</fieldset>
<fieldset>
<field name='field4'></field>
<text></text>
</fieldset>
我想选择所有field
个节点,这些节点只是field
类型的子节点。
IE中。 field1
匹配,field4
也匹配(text
节点不属于field
类型。)
我无法使用sibling
使其正常工作,而且:
//fieldset/field[not(count(../field))>1]
答案 0 :(得分:3)
您可以使用//fieldset[count(field)=1]/field
xpath表达式。
使用xmllint
进行演示:
$ xmllint input.xml --xpath '//fieldset[count(field)=1]/field'
<field name="field1"/>
<field name="field4"/>