Использование выражения Xpath и проверка количества элементов

Я очищаю таблицу с помощью 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 отличается от второго. Вот почему я не могу сопоставить данные друг с другом. вы можете увидеть таблицу здесь.


person Community    schedule 09.12.2018    source источник


Ответы (1)


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

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

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

person Andersson    schedule 09.12.2018