2012-03-25 29 views
0

我似乎無法得到任何與simpleXML for PHP一起工作。什麼是錯的以下內容:這次嘗試使用SimpleXML有什麼問題?

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

輸出的結果是:

title = 

爲什麼不如下輸出?

title = The Title 

請指教。

回答

3

由於<book>是這個片段的根節點,你需要$xml->title而非$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> 

結構更容易被發現,如果你var_dump()它:

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

嘗試

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

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

echo $title; 

我懷疑問題存在是你沒有創建的XML對象,並嘗試使用的方法從該對象。這是我的假設給你的代碼片段。

看看PHP: Simple XML