如何查找至少包含一个属性的元素?
示例:
<tr>...</tr>
<tr style="">...</tr>
<tr width="">...</tr>
我想要所有tr元素但是......
我尝试过跟踪xpath,但它不起作用。
//table//tr[contains(attributes::*,'')]
由于
答案 0 :(得分:3)
这应该这样做:
//table/tr[@*]
您的工作不起作用的原因是,当第二个参数为contains()
时,''
将始终返回true。当表达式返回方括号内的节点集时,如果它是非空的则认为是真的,如果它是空的则认为是假的。所以[@*]
将返回所有属性的集合,并且如果存在任何属性将被解释为真。