1
У меня есть следующий код:граф узлов с помощью XPath и подсчета
<?php
$xmlString = '
<SHOP xmlns="http://www.example.com/ns/offer/1.0">
<SHOPITEM>
<ID>1</ID>
<PRODUCT>T-shirt</PRODUCT>
<PRICE>19,22</PRICE>
</SHOPITEM>
<SHOPITEM>
<ID>2</ID>
<PRODUCT>Trousers</PRODUCT>
<PRICE>87,54</PRICE>
</SHOPITEM>
</SHOP>';
$xml = simplexml_load_string($xmlString);
$x_s_products = $xml->xpath("/SHOP/SHOPITEM");
$cnt_x_products = count($x_s_products);
echo $cnt_x_products;
?>
Проблема заключается в том, что $cnt_x_products
0. Но это не так. Если я удалю атрибут xmlns, все в порядке. Но у меня должен быть этот атрибут. Спасибо за ваш совет.
http://php.net/manual/ ru/domxpath.registernamespace.php? –
@MarcB Как он решает мою проблему? Он не возвращает мне правильное количество узлов SHOPITEM. –
, потому что, если удаление атрибута пространства имен заставляет вещи работать, то очевидно, что это пространство имен, вызывающее проблемы, и его регистрация устранит настоящую проблему. –