SimpleXML генерирует ошибки с допустимыми строками XML - PullRequest
0 голосов
/ 30 января 2012

Я новичок в SimpleXML с Codeigniter в PHP 5.2.6 и получил ошибку ниже.Независимо от того, что я пытался, я не могу получить какой-либо вывод от анализатора.

Я проверил, что XML действителен.Я подтвердил, что строка заполнена XML, а также заменила другие действительные строки XML для подтверждения.

Я довольно новичок в этой конкретной области, поэтому любая помощь будет замечательной.

Сообщение об ошибке:

Сообщение: SimpleXMLElement :: __ construct () [simplexmlelement .-- construct]: Объект: строка 12: ошибка синтаксического анализатора: ожидается начальный тег, '<' не найден </p>

Кодобразец:

$xmlClean = simplexml_load_string($xml);
$xmlData = new SimpleXMLElement($xmlClean);
echo $xmlData->person[0]->id;

Ответы [ 2 ]

0 голосов
/ 30 января 2012

У меня были некоторые проблемы с объектами SimpleXML ... Я понял, что значения элементов XML не являются строками, купите сами объекты SimpleXML ...

Чтобы обойти эту проблему, когдаЯ хотел использовать строки объекта SimpleXML, преобразовав объект в ассоциативный массив с помощью get_object_vars.

$data = get_object_vars($xml);

echo $data['element1']; //Outputs the value of the element1 element
0 голосов
/ 30 января 2012

Я смог решить мою проблему следующим образом:

$string = <<<XML
$xml
XML;

Просто оберните $ xml следующим образом, и тогда все заработает:

$xmlData = simplexml_load_string($string);
var_dump($xmlData);

Надеюсь, кто-нибудь найдет это полезным.

...