Xpath PHP, Исключение (Отбор)

118
12 июня 2019, 01:20

Есть xml

<param name="Артикул"></param>
<param name="Возраст" id="22641" valueid=""></param>
<param name="Комплектация" id="22642"></param>
<param name="Дополнительные характеристики" id="22643"></param>
<param name="Размер упаковки" id="22644"></param>

Есть Xpath

    $param_value     = $node->xpath('//param/@name');
    $param_name    = $node->xpath('//param');
    $param_id    = $node->xpath('//param/@id');

Не могу добиться чтобы <param name="Артикул"></param> игнорировался так-как там нет ID. Есть советы или примеры?

Answer 1

Используй проверку на существование атрибута у тега //tag[@attribute]:

$param_value     = $node->xpath('//param[@id]/@name');
$param_name    = $node->xpath('//param[@id]');
$param_id    = $node->xpath('//param/@id');

Да, для $param_id проверка не нужна, т.к. уже возвращает атрибут из узла только в том случае, если атрибут существует.

READ ALSO
SQL группировка по двум полям с условием

SQL группировка по двум полям с условием

помогите составить правильный sql запрос с условием для таблицы статистики посещения к примеру есть таблица

125
Две формы обратной связи в Netcat

Две формы обратной связи в Netcat

Настроил форму обратной связи в Netcat, но задача стоит сделать 2 формы на одной страницеСоздал под каждую свой шаблон но столкнулся с проблемой,...

101
Не работает перенос строки

Не работает перенос строки

Храню в JSON характеристики товаровПри выводе пытаюсь заменить все запятые на перенос строки

123