示例我有
<a>
<test>
<name>h</name>
</test>
<test2>
<name>s</name>
</test2>
<test3/>
</a>
我想选择里面没有名字元素的测试 到目前为止我做了什么:
/a/test/*[not(self::name)]
预期输出应该只显示test3,但是我的程序显示的内容都包括test,test2和test3。我的编码有什么错误吗?
答案 0 :(得分:2)
使用/a/*[not(name)]
,选择a
根元素中没有name
子元素的所有子元素。
答案 1 :(得分:0)
这将查找a
元素的子元素的任何元素,这些元素以名称&#39; test&#39;开头。并且没有名为name
的子元素:
/a/element()[starts-with(local-name(.), 'test')][not(child::name)]