2009-06-04 2 views
1

Ich habe ein clientseitiges Skript in jQuery geschrieben, das Text/XML-Daten an den Server sendet, aber ich kann nicht herausfinden, wie die Anfrage zu analysieren, da die Daten keine Query-String-Variable ist. Die jQuery sieht wie folgt aus:Wie parse ich XML von PHP, das als text/xml an den Server gesendet wurde?

jQuery.ajax({ 
    url: "test.php", 
    type: "POST", 
    processData: false, 
    contentType: "text/xml", 
    data: xmlDoc, 
    success: function(data) { 
     alert(data); 
    } 
}); 

Die xmlDoc ist ein gültiges XML-Dokument. Ich habe alles in der PHP versucht, aber ich kann keinen der Knoten oder Inhalt mit Simplexml erhalten.

+2

Was ist print_r ($ _ POST) aussehen? –

+0

Ja, das war Teil des Problems. Ich habe das versucht, und es gab nur ein leeres Array zurück(), also dachte ich, dass es ein Problem mit dem jQuery und nicht dem PHP war. Mit dem folgenden Code von Matthew ist ein print_r() jedoch noch leer, aber ein var_dump() zeigt die Objektknoten an. –

Antwort

3

Ich glaube, Sie wollen so etwas wie:

$xml_text = file_get_contents("php://input"); 
$xml = simplexml_load_string($xml_text); 
+0

Matthew, das funktioniert super! Vielen Dank! –