Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: or в xpath
Форумы портала PHP.SU » » XML и его обработка » or в xpath

Страниц (1): [1]
 

1. Tek - 17 Декабря, 2013 - 10:13:04 - перейти к сообщению
Подскажите как выбрать значение, где [@name=] равен нескольким значениям т.е. что то в духе $xml->xpath('/toolSet/category/tool[@name="rashir"][@name="trubka"]');
2. VenZell - 17 Декабря, 2013 - 11:33:41 - перейти к сообщению

Попробуйте вот так.
Для разделения значений используйте дефис.

Если не сработает, то вот так:
PHP:
скопировать код в буфер обмена
  1. $tool = '/toolSet/category/tool';
  2. $xml->xpath("{$tool}[@name='rashir']|{$tool}[@name='trubka']");

Для разделения значений используйте '|'
3. Tek - 17 Декабря, 2013 - 12:04:15 - перейти к сообщению
VenZell пишет:
Попробуйте вот так.
Для разделения значений используйте дефис.

Если не сработает, то вот так:
PHP:
скопировать код в буфер обмена
  1. $tool = '/toolSet/category/tool';
  2. $xml->xpath("{$tool}[@name='rashir']|{$tool}[@name='trubka']");

Для разделения значений используйте '|'


Первый вариант выдает ошибку, но вот так сработало
PHP:
скопировать код в буфер обмена
  1. $xml->xpath('/toolSet/category/tool[@name="rashir" or @name="trubka"]');

 

Powered by ExBB FM 1.0 RC1