PHP DOMXPath - выражение для выбора tr, который содержит вход с определенным атрибутом - PullRequest
1 голос
/ 27 января 2011

У меня следующая структура:

<table>
...
    <tr><td><input name="email" /></td></tr>
...
</table>

Вопрос: каково выражение для выбора этого tr на основе атрибута "name" тега "input"?Более конкретно, я хочу знать, есть ли способ сделать это без необходимости выбора входных данных, а затем перейти вверх по иерархии, выполнив -> parentNode-> parentNode ... Заранее спасибо.

Ответы [ 2 ]

3 голосов
/ 27 января 2011

Попробуйте:

//input[@name="mail"]/ancestor::tr[1]

Примечание: запрос XPATH-> не возвращает определенный элемент, он возвращает nodeList (также, если ясно, что внутри только один элемент). Вам нужно будет выбрать пункт, используя

nodeList->item(0);//returns the first item of the nodeList.
0 голосов
/ 27 января 2011

Используйте

//table/tr[td/input/@name = 'email']

Это означает :

Выберите все элементы tr, которые являются дочерними элементами table и имеют дочерний элемент td с дочерним элементом input с arrtibute name, значением которого является строка 'email'.

Примечание: : обратная ось в выражении не используется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...