1
Wie kann ich eine XML-Antwort auf PHP analysieren? Ich habe mehrere Lösungen ausprobiert, aber nichts funktioniert. Hier ist der XML ich zurück:parsen SOAP xml zu PHP
<soapenv:envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope">
<soapenv:body>
<ns:getrateresponse xmlns:ns="http://services.gts">
<ns:return xmlns:ax25="http://services.gts/xsd" xmlns:ax26="http://model.gts/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ax25:RaterResponseAutoQuotes">
<ax25:carriers xsi:type="ax25:RaterResponseCarriersAutoQuotes">
<ax25:accessorials xsi:type="ax25:RaterResponseAccessorial">
<ax25:aramount>12.66</ax25:aramount>
<ax25:accessorialid>22</ax25:accessorialid>
<ax25:accessorialname>Fuel</ax25:accessorialname>
</ax25:accessorials>
<ax25:ar_final_rate>161.66</ax25:ar_final_rate>
<ax25:carrier_id>0000087</ax25:carrier_id>
<ax25:carrier_name>CON-WAY FREIGHT INC</ax25:carrier_name>
<ax25:service_days>04</ax25:service_days>
</ax25:carriers>
<ax25:message>Success</ax25:message>
<ax25:referencenumber>3184877</ax25:referencenumber>
<ax25:success>true</ax25:success>
</ns:return>
</ns:getrateresponse>
</soapenv:body>
Parse:
foreach($xml->ax25:carriers as $carrier) {
$$carrierObject = array(
"rate" => $carrier->ar_final_rate,
);
array_push($carriers, $$carrierObject);
}
Alles, was ich kümmern uns um die jeweils ax25:carriers
ax25:ar_final_rate
. Ich habe auch versucht
$result = new SimpleXMLElement($response);
aber zurück
object(SimpleXMLElement)#2 (0) { }
Verwenden [PHP in SOAP Funktionalität gebaut] (http://php.net/manual/en/book.soap.php) –