我想找到属性的所有元素都以x
开头。
例如,
<a xt="1"> text1 </a>
<a xu="2"> text2 </a>
<a text1="3"> text3 </a>
xpath会找到前两个元素,因为它包含名称分别为xt
和xu
的属性。 <{1}}属性不以text1
开头,为此我不会得到它。
我尝试使用x
函数,但据我所知,它会找到值,而不是属性。
答案 0 :(得分:2)
试
@*[starts-with(name(), 'x')]
答案 1 :(得分:0)
我会用:
//*[@*[starts-with(local-name(),'x')]]
与其他答案类似,但使用local-name()
代替。这只会检查属性名称而不是命名空间前缀。
例如,如果您使用local-name()
,则也会匹配以下内容,因为前缀以x
开头......
<a xns:text1="3" xmlns:xns="xns"> text3 </a>
如果您使用local-name()
,则不会匹配,因为xns:text1
的本地名称为text1
。