Hellihello
aber warum bekomme ich dann hier kein ergebnis?
$xml = simplexml_load_file("http://blabla.de/test.xml");
$query_string="//CarInfo[@Code=28]";
$node_list = $xml->xpath($query_string);
echo $node_list[0]["Quantity"];werde wahnsinnig... ;-)
Weil Du nicht Schritt für Schritt vorgehst vielleicht?
Teste:
- mit asXML, ob Du die Daten korrekt lädst
- mit var_dump, was deine Nodelist enthält
- mit var_dump, was zB. $node_list[0] enthält.
Nur wenn Du mindestens das getestet hast, kanns Du als _letzem_ Schritt, auf das Attribut ["Quantity"] zugreifen.
Solang Du nur von blabla.de sprichst (nimm doch lieber example.com), ist es auch von "remote" nicht möglich, Fehler zu finden. Dazu braucht es zugriff auf die Daten (XML) bzw. Kenntnis davon (posten hier) und auf den relevanten Code (alle Bestandteile, die genutzt werden).
Dank und Gruß,
Nochmal Hallo,
das gesamte XML-File ist arg gross-daher hier die relevanten ´Daten:
<?xml version="1.0" encoding="UTF-8" ?>
- <CARDescriptiveContentNotifRQ>
- <CARDescriptiveContents>
- <CARDescriptiveContent>
- <CARInfo WhenBuilt="1999" CARStatusCode="1">
<CARName CARShortName="Golf" /> - <CategoryCodes>
<LocationCategory Code="4" />
<SegmentCategory Code="4" />
<CARCategory Code="20" />
<CARTECInfo Code="5" Quantity="6" /> - <CARTECInfo Code="35" Quantity="2">
- <Description>
<Text Language="en">aa</Text>
<Text Language="fr">bb</Text>
<Text Language="de">cc</Text>
<Text Language="it">dd</Text>
<Text Language="es">ee</Text>
<Text Language="pt">ff</Text>
</Description>
</CARTECInfo> - <CARTECInfo Code="1" Quantity="2">
- <Description>
<Text Language="en">gg</Text>
<Text Language="fr">hh</Text>
<Text Language="de">jj</Text>
<Text Language="it">kk</Text>
<Text Language="es">mm</Text>
<Text Language="pt">nn</Text>
</Description>
</CARTECInfo> - <CARTECInfo Code="2" Quantity="44">
- <Description>
<Text Language="en">oo</Text>
<Text Language="fr">pp</Text>
<Text Language="de">qq</Text>
<Text Language="it">rr</Text>
<Text Language="es">tt</Text>
<Text Language="pt">uu</Text>
</Description>
</CARTECInfo> - <CARTECInfo Code="3" Quantity="22">
- <Description>
<Text Language="en">vv</Text>
<Text Language="fr">ww</Text>
<Text Language="de">xx</Text>
<Text Language="it">yy</Text>
<Text Language="es">zz</Text>
<Text Language="pt">zzz</Text>
</Description>
</CARTECInfo> - <CARTECInfo Code="28" Quantity="92">
- <Description>
<Text Language="en">Total</Text>
</Description>
</CARTECInfo>
</CategoryCodes>
Habe nochmal getestet:
$xml_string = file_get_contents("http://example.com/test.xml");
$simple_xml = simplexml_load_string($xml_string);
$query_string="//CARTECInfo[@Code=28]";
$node_list = $simple_xml->xpath($query_string);
var_dump($node_list); //Ausgabe "array(0) { }"
echo $simple_xml->asXML(); das o.a. XML
echo $node_list[0]["Quantity"]; keine Ausgabe