XPath для поиска строки таблицы на основе содержащего поля со связанной меткой и значением - PullRequest
0 голосов
/ 07 января 2011

Вот что у меня сейчас есть:

//tr[.//*[@id = string(../label[.='foo']/@for) and @value='bar']]

Я знаю, что это работает:

//tr[.//label[.='foo']/@for]

Я также подтвердил, что функция string() работает должным образом, но, похоже, зависает при сопоставлении string() с атрибутом id. Есть идеи почему?

Вот фрагмент X [HT] ML, который должен соответствовать этому - он должен найти вторую строку:

<tr>
  <td>
     <label for="thing1">foo</label>
     <input id="thing1" value="not-bar" />
  </td>
</tr>
<tr>
  <td>
     <label for="thing2">foo</label>
     <input id="thing2" value="bar" />
  </td>
</tr>

Спасибо!

1 Ответ

2 голосов
/ 07 января 2011
//tr[*/input
    [@id = ../label[.='foo']/@for and @value='bar']
    ]

Выглядит достаточно.

...