2012-03-25 14 views
0

Ich kann nichts mit SimpleXML für PHP arbeiten. Was stimmt nicht mit dem folgenden:Was ist falsch an diesem Versuch, SimpleXML zu verwenden?

$xml = simplexml_load_string('<book><title>The Title</title></book>'); 
$title = $xml->book->title; 
echo "<pre>title = $title\n</pre>"; 

Die resultierende Ausgabe ist:

title = 

Warum ist nicht die Ausgabe wie folgt?

title = The Title 

Bitte beraten.

Antwort

3

Da <book> ist der Wurzelknoten dieses Snippet, müssen Sie $xml->title statt $xml->book->title.

$xml = simplexml_load_string('<book><title>The Title</title></book>'); 
$title = $xml->title; 
echo "<pre>title = $title\n</pre>"; 

// Prints 
<pre>title = The Title 
</pre> 

Die Struktur ist leichter, wenn Sie var_dump() entdeckt:

var_dump($xml); 
object(SimpleXMLElement)#1 (1) { 
    ["title"]=> 
    string(9) "The Title" 
} 
-2

Versuchen

$str = '<book><title>The Title</title></book>'; 
$xml = new SimpleXMLElement($str); 

$title = $xml->book->title; 

echo $title; 

Was ich das Problem Wesen vermuten ist, dass Sie nicht das XML-Objekt erstellt haben, und versuchen, eine Methode von diesem Objekt zu verwenden. Das ist meine Annahme angesichts Ihres Codeausschnitts.

Werfen Sie einen Blick auf PHP: Simple XML

Verwandte Themen