2016-07-17 6 views
1

Люди, не могли бы вы помочь мне с этим XPATH. Допустим, у меня есть следующий HTML-кодXPath: Получение узла по значению атрибута поднода

<table> 
    <tr> 
     <td class="clickable">text</td> 
     <td>value1</td> 
    </tr> 
    <tr> 
     <td>value2</td> 
     <td>text</td> 
    </tr> 
</table> 

Мне нужно построить XPath, который подберет <tr>, которые имеют <td> со значением текста и атрибутов класса равен интерактивными.
Я попытался следующие XPath:

//tr[contains(.,'text')][contains(./td/@class,'clickable')] 
//tr[contains(.,'text')][contains(td/@class,'clickable')] 

, но ни один из них не работал

любая помощь
Благодаря

ответ

1

Здесь почти нет:

//tr[contains(td/@class,'clickable') and contains(td, 'text')] 

демонстрация используя xmllint:

$ xmllint input.xml --xpath "//tr[contains(td/@class,'clickable') and contains(td, 'text')]" 
<tr> 
    <td class="clickable">text</td> 
    <td>value1</td> 
</tr> 
+0

спасибо вам @alecxe это работает :) – jazzyekim

1

Если вы нашли tr с td, имеющим значением text и td (возможно, другие) с классом атрибута равно интерактивный, используйте ответ @alecxe.

Если это один td с двумя условиями затем

//tr[td[.='text' and @class='clickable']] 
+0

спасибо @ splash58 :) Вам совет работает! – jazzyekim

+0

Добро пожаловать! – splash58

Смежные вопросы