这次尝试使用SimpleXML有什么问题?

时间:2012-03-25 23:02:54

标签: php simplexml

我似乎无法使用SimpleXML for PHP。以下是什么问题:

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

结果输出为:

title =

为什么输出不是如下?

title = The Title

请告知。

2 个答案:

答案 0 :(得分: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"
}

答案 1 :(得分:-2)

尝试

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

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

echo $title;

我怀疑问题在于您没有创建XML对象并且正在尝试使用该对象的方法。这是我给你的代码片段的假设。

查看PHP: Simple XML