2012-03-29 3 views
0

Ich habe ein Skript, das versucht, eine MongoDB-Sammlung mit einer XML-Antwort zu aktualisieren, die ich von einem Server erhalten habe. Ich beschwöre simplexml_load_string() für die Antwort. Wenn Sie jedoch die Felder aktualisieren, wird dem Wert, den ich hinzufügen möchte, ein zusätzlicher Schlüssel "0" hinzugefügt. Hier ist der Code:Aktualisieren von MongoDB mit PHP simplexml_load_string Funktionsvariablen Hinzufügen von '0' Schlüssel zu Wert

$xml = simplexml_load_string($response); 
if($xml->type == "reject") { 
    $status = $xml->type; 
    $message = $xml->message; 
} 
$update = array('$set' => array('status' => $status, 'response' => $message)); 

Das ist das, was ich erwarte:

{ "_id" : ObjectID("..."), "status" : "reject", "response" : "The message." } 

Allerdings ist hier der Eintrag, der in MongoDB gespeichert wird:

{ "_id" : ObjectID("..."), "status" : { "0" : "reject" }, "response" : { "0" : "The message." } } 

Jede Idee, was passiert oder Vorschläge, wie man es beheben kann? Vielen Dank!

+0

Können Sie Ihren Beitrag mit dem tatsächlichen XML-Code bearbeiten, den Sie erhalten? Vielen Dank! –

Antwort

0

$xml->type und $xml->message sind wahrscheinlich Objekte, keine Zeichenketten. Vielleicht möchten Sie var_dump es zu sehen, was es tatsächlich ist und dann in eine Zeichenfolge konvertieren.

+0

Ja, es sieht so aus, als ob die Stringlänge gesendet wird - 'object (SimpleXMLElement) # 7 (2) {[" type "] => string (5)" error "[" message "] => string (42) "Der angeforderte Betrag ist nicht gültig"} '. – BSLRNI

+0

Hmm, es sieht so aus, als wären sie Saiten. Sie könnten var_dumping $ update ausprobieren, um sicherzugehen. – kristina

+0

'array (1) {[" $ satz "] => array (3) {[" responseTime "] => string (8)" 22:08:18 "[" status "] => objekt (SimpleXMLElement) # 8 (1) {[0] => string (5) "Fehler"} ["Antwort"] => Objekt (SimpleXMLElement) # 9 (1) {[0] => string (42) "Der angeforderte Betrag ist nicht gültig "}}}' Kommt das von PHP oder fügt MongoDB das hinzu? – BSLRNI

Verwandte Themen