Что не так с этой попыткой использовать SimpleXML? - PullRequest
0 голосов
/ 26 марта 2012

Я не могу заставить что-то работать с simpleXML для PHP. Что не так со следующим:

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

Результирующий вывод:

title =

Почему вывод не выглядит следующим образом?

title = The Title

Пожалуйста, сообщите.

Ответы [ 2 ]

3 голосов
/ 26 марта 2012

Поскольку <book> является корневым узлом этого фрагмента, вам нужно $xml->title, а не $xml->book->title.

<code>$xml = simplexml_load_string('<book><title>The Title</title></book>');
$title = $xml->title;
echo "<pre>title = $title\n
"; // Печать
title = The Title

структуру легче обнаружить, если вы var_dump() это:

var_dump($xml);
object(SimpleXMLElement)#1 (1) {
  ["title"]=>
  string(9) "The Title"
}
0 голосов
/ 26 марта 2012

Попробуйте

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

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

echo $title;

Я подозреваю, что проблема в том, что вы не создали объект XML и пытаетесь использовать метод из этого объекта. Это мое предположение, учитывая ваш фрагмент кода.

Взгляните на PHP: простой XML

...