Ich bin beschäftigt mit einem EPP-Registrierungsmodul, das XML über einen Stream-Dienst zurückgibt.simplexml_load_string Funktion Laden XML-Datei in PHP
Die XML kehrt in Ordnung, aber ich bin nicht in der Lage Last zu erhalten unter Verwendung von PHP simple_xml_load_string
oder new SimpleXMLElement
um die korrekte XML zu laden, damit ich die Daten als ein Objekt verwenden kann.
Ich bin jedoch in der Lage, die XML zurück mit asXML()
, so dass es aussehen würde, dass die XML geladen wird, ich bin nur nicht in der Lage, Zugriff auf einen der Werte innerhalb des Objekts. Ein print_r()
des Objekts gibt auch ein leeres Objekt zurück (von dem ich verstehe, dass das korrekt ist). Hier
ist ein Beispiel für ein Anmeldeergebnis:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<epp:epp xmlns:epp="urn:ietf:params:xml:ns:epp-1.0">
<epp:response>
<epp:result code="1000">
<epp:msg>Access granted</epp:msg>
</epp:result>
<epp:trID>
<epp:clTRID>ABC-123456</epp:clTRID>
<epp:svTRID>OTE-EPP-155A695A3C9-717E</epp:svTRID>
</epp:trID>
</epp:response>
</epp:epp>
Was ich brauche, zu bekommen Zugang zu ist das Ergebnis Code oben.
Hier ist ein Beispiel PHP ich versucht habe:
// Note that the $var property contains the XML exactly as it is above.
$result = simplexml_load_string($var);
echo $result->response->msg; // Nothing
echo $result->asXML(); // Returns the XML correctly.
$result = new SimpleXMLElement($var);
print_r($result); // Returns an empty object.
echo $result->response->msg; // Nothing
echo $result->toXML(); // Returns the XML correctly.
Irgendwelche Ideen wäre sehr dankbar.
Ausgezeichnet! Danke, funktioniert wie ein Zauber :) Bin ich dann richtig, dass der Namensraum fehlte? – mauzilla
Genau, Sie müssen der Klasse mitteilen, dass Tags mit einem Namespace vorangestellt werden;) –