Использование выражения Xpath и проверка количества элементов - PullRequest
0 голосов
/ 09 декабря 2018

Я перебираю таблицу с Xpath и сопоставляю TR tds, но проблема в этой ситуации.некоторые из TR имеют один td, поэтому мне нужно устранить их.Но с этим устранением у меня возникла тихая проблема.

Например:

    $getTR = $path->query("//table[@class='bgc_line']/tr");
    foreach($getTR as $tr){
        if ($tr->length == 2) {
            $route = $path>query("//table[@class='bgc_line']/tr/td[1]");
            foreach ($route as $td1) {
                $property[] = trim($td1->nodeValue);
            }

            $route = $path->query("//table[@class='bgc_line']/tr/td[2]");
            foreach ($route as $td2) {
                $value[] = trim($td2->nodeValue);
            }
        }
    }

Так что мое использование if не совсем верно.Но есть ли другой способ сделать это?Потому что у меня есть два выражения, и число первых Xpath отличается от второго.Вот почему я не могу сопоставить данные друг с другом.Вы можете увидеть таблицу здесь .

1 Ответ

0 голосов
/ 09 декабря 2018

Вы можете использовать

table[@class='bgc_line']/tr[count(td) > 1]

Чтобы получить строки таблицы, только если они имеют более одного дочернего элемента td

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