例如,我的XML代码是:
<part>
<name>qwe</name>
<ir>
<d>yes</d>
<scalar>
<left>31</left>
<right>0</right>
</scalar>
</ir>
</part>
<part>
<name>qaz</name>
<ir>
<d>yes</d>
<scalar>
<left>1</left>
<right>0</right>
</scalar>
</ir>
</part>
<part>
<name>asd</name>
<ir>
<d>yes</d>
<drive>
<default>1</default>
</drive>
</ir>
</part>
<part>
<name>zxc</name>
<ir>
<d>no</d>
<scalar>
<left>3</left>
<right>0</right>
</scalar>
<drive>
<default>0</default>
</drive>
</ir>
</part>
我想提取所有没有节点默认值的名称,即在此示例中输出应为qwe, qaz
。您必须检查默认值的值(如果它是0或1)并打印asd
默认值为0 zzxc
默认值为1. qwe
如果不存在则打印qaz
没有默认值,{{1}}没有默认值。
答案 0 :(得分:2)
如果默认值始终为ir/drive
,则可以使用以下XPath表达式:
//part[not(ir/drive/default)]/name/text()