2010-12-29 7 views
2

Das verwirrt mich wirklich. Ich habe XML nie benutzt, also spiele ich nur überSimpleXML scheint nichts zu laden ...?

Den Code (es ist mitten in der Nacht natürlich ...!):

$xml_string = "<?xml version="1.0" encoding="utf-8" ?><result> 
    <status>fail</status> 
    <error> 
     <code>192</code> 
     <message>Previous command still being processing</message> 
    </error> 
</result>" 
$rss = simplexml_load_string($xml_string); 
print $rss->result->status; 

ich irgendwie verwirrt bin .. Jedes Tutorial, das ich gelesen habe, scheint zu suggerieren, dass dies "fehlgeschlagen" drucken wird - aber es tut es nicht ...? Kann mir jemand in die richtige Richtung zeigen?

Antwort

3

Es gibt einige Fehler:

  • Sie Ihre String in doppelten Anführungszeichen zitiert, aber es gibt unescaped Doppel Anführungszeichen innerhalb der Zeichenfolge, die vorzeitig Zeichenfolge beenden. Um beheben Sie entweder die doppelten Anführungszeichen in der Zeichenfolge oder verwenden Sie einzelnes Zitat oder hier doc.
  • Der result Knoten ist die Wurzel des Dokument so fail zu drucken benötigen Sie:

    print $rss->status; 
    

See it

Als Tipp können Sie immer Dump den Inhalt des XML-Objekts durch doing print_r($rss);

+0

Wow. Ich danke dir sehr. Es waren nicht die unausgesprochenen Zitate, sie entstanden nur, als ich versuchte, das Code-Snippet-Ding hier auf Stackoverflow zu verwenden! Mein Problem war, wie Sie festgestellt haben, der Druck $ rss-> status; wo ich print $ rss-> result-> status verwendet habe; – Ryan

+0

Aber jetzt gelöst. Danke vielmals!!! – Ryan