XPath для строк таблицы (tr) на основе позиции и количества ячеек (td)? - PullRequest
0 голосов
/ 27 августа 2018

Мне нужен XPath для такого документа:

-tr
--td
--td
--td
--td
--td
-tr
--td
--td
--td
--td
--td
-tr
--td   <-- here is only one td inside the tr. I need only the ones above this tr
-tr
--td
--td
--td
--td
--td
-tr
--td
--td
--td
--td
--td
-tr
--td

Как и в примере, мне нужны только tr от первого до tr с одним td. Другие tr после этого также НЕ должны быть включены.

1 Ответ

0 голосов
/ 27 августа 2018

Предполагается, что есть только один tr, у которого есть один td дочерний элемент ...

Это XPath,

//tr[count(td)=1]/preceding-sibling::tr

выберет все элементы tr родного брата до tr, у которого есть единственный дочерний элемент td.

Нет оси preceding-sibling-or-self, но вы можете объединить ее с помощью |:

//tr[count(td)=1] | //tr[count(td)=1]/preceding-sibling::tr

для включения tr с одним td ребенком.

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