Как найти элементы, которые имеют хотя бы один атрибут?
Пример:
<tr>...</tr> <tr style="">...</tr> <tr width="">...</tr>
Я хочу все элементы tr, но ...
Я пытался следовать xpath, но он не работает.
//table//tr[contains(attributes::*,'')]
Спасибо
Это должно сделать это:
//table/tr[@*]
Причина, по которой вы не работаете, заключается в том, что contains() всегда будет возвращать true, когда второй параметр равен ''. Когда выражение возвращает узел, заданный в квадратных скобках, оно считается истинным, если оно не пустое, и ложным, если оно пустое. Так что [@*] вернет набор всех атрибутов и будет интерпретироваться как истина, если они есть.
contains()
''
[@*]