Hellihello
Das führt leider auch zu keinem Ergebnis. Verweise mit dem ganzen Pfad =>
CARDescriptiveContentNotifRQ/CarDescriptiveContents/CarDescriptiveContent/CarInfo/CategoryCodes/CarInfo[@Code=28]";
Auf meinem Server klappt es - extern nicht.
Wieder eine schlaflose Nacht... :-)
http://www.phpcenter.de/de-html-manual/function.simplexml-element-registerXPathNamespace.html
Darin:
$sxe->registerXPathNamespace('c', 'http://example.org/chapter-title');
$result = $sxe->xpath('//c:title');
siehe dann im Beispiel:
<?php
$xml_string=
'<?xml version="1.0"?>
<wurzel xmlns="http://abcdefg">
<CarInfo Code="1" Quantity="10"/>
<CarInfo Code="2" Quantity="22"/>
<CarInfo Code="3" Quantity="23"/>
<CarInfo Code="4" Quantity="42"/>
<CarInfo Code="5" Quantity="33"/>
<CarInfo Code="6" Quantity="87"/>
</wurzel>';
// echo $xml_string;
$simple_xml = simplexml_load_string($xml_string);
$simple_xml->registerXPathNamespace('c', 'http://abcdefg');
// var_dump($simple_xml);
$query_string="//c:CarInfo[@Quantity=22]";
$node_list = $simple_xml->xpath($query_string);
var_dump($node_list);
echo $node_list[0]["Code"];
Dabei ist der Name für den Namespace egal.
<CARDescriptiveContentNotifRQ xmlns="http://www.domain.org/abc/123/08">
bringt:
$simple_xml->registerXPathNamespace('irgendwas', 'http://www.domain.org/abc/123/08');
und somit funkitioniert dann auch:
$query_string="//irgendwas:CarInfo[@Quantity=22]";
Glückwunsch.
Dank und Gruß,