Ошибка SimpleXMLElement, но xml действителен

это ошибка:

[01-Sep-2011 08:15:01] Предупреждение PHP: SimpleXMLElement::__construct() [‹ a h ref='simplexmlelement.--construct'>simplexmlelement.--construct]: ../domain/feed-yself- Tips.php:1: ошибка парсера: ожидается начальный тег, '‹' не найден в /home/domain/public_html/mergedrss.php в строке 135

[01-Sep-2011 08:15:01] Предупреждение PHP: SimpleXMLElement::__construct() [‹ a h ref='simplexmlelement.--construct'>simplexmlelement.--construct]: 1f45 в /home/domain/public_html/ mergedrss.php в строке 135

[01-Sep-2011 08:15:01] Предупреждение PHP: SimpleXMLElement::__construct() [‹ a h ref='simplexmlelement.--construct'>simplexmlelement.--construct]: ^ в /home/domain/public_html/ mergedrss.php в строке 135

[01-Sep-2011 08:15:01] Неустранимая ошибка PHP: необработанное исключение «Исключение» с сообщением «Строка не может быть проанализирована как XML» в /home/domain/public_html/mergedrss.php:135

Трассировка стека: #0 /home/domain/public_html/mergedrss.php(135): SimpleXMLElement->__construct('.../domain...', 0, true) #1 /home/domain/public_html/mergedrss.php(57): MergedRSS->__fetch_rss_from_url('.../domain...') #2 /home/domain/public_html/feed.php(21): MergedRSS->export(false, true, 15) #3 {main} thrown in /home/domain/public_html/mergedrss.php on line 135


person user923076    schedule 01.09.2011    source источник
comment
Почти невозможно сказать без фактического документа.   -  person VolkerK    schedule 01.09.2011
comment
Я использую класс MergedRSS, это строка с ошибкой: private function __fetch_rss_from_url($url) { // Создать новый экземпляр SimpleXMLElement $sxe = new SimpleXMLElement($url, null, true); вернуть $xe;   -  person user923076    schedule 01.09.2011


Ответы (1)


Две наиболее распространенные вещи, приводящие к этой ошибке, если вы уверены, что xml правильно сформирован, следующие.

А) Вы передаете симплексному элементу имя файла вместо строки.

// For files/urls use the following.
// See: http://www.php.net/manual/en/function.simplexml-load-file.php
$xml = simplexml_load_file('example.xml');

// For xml strings use the following.
// See: http://www.php.net/manual/en/function.simplexml-load-file.php
$xml = simplexml_load_string($exmpleString);

Б) Другая распространенная проблема заключается в том, что вы пытаетесь получить доступ к защищенному сайту (https://), а в вашей копии php не включено расширение openssl в php.ini. Обратитесь к Google за помощью в решении этой проблемы, если это относится к вам, поскольку решение зависит от того, работаете ли вы на сервере Linux или Windows.

Без дополнительной информации от вас, такой как исходный xml и код, который вы используете, это все, чем я могу помочь.

Удачи :)

person Typo    schedule 01.09.2011
comment
Ага. Благодаря этому моя проблема решилась. не заметил, что я пытаюсь использовать load_string с помощью файла. - person rccoros; 07.09.2015