String could not be parsed as xml ошибка

How to troubleshoot ‘String could not be parsed as XML’ error message in PHP

This article describes how to troubleshoot the «String could not be parsed as XML» error message in PHP.

Table of Contents

  • Problem
  • Resolution

Problem

When you try to parse XML data in a PHP script, you receive the following error message:

Fatal error: Uncaught exception 'Exception' with message 'String could not be parsed as XML' in FILENAME on line X

Resolution

The most likely cause of this error is that the XML data you are trying to process is not valid. Alternatively, the XML data may contain non-standard characters or use a different character set encoding.

There are several websites that can validate XML data. For example, the website http://www.xmlvalidation.com can check basic XML syntax, as well as validate XML data against external schema, such as DTD (Document Type Definition) documents.

Сообщения: 8
Благодарности: 0

Конфигурация компьютера
Процессор: QuadCore Intel Xeon X5460, 3166 MHz (9.5 x 333)
Материнская плата: Asus P5K SE/EPU
Память: SK Hynix HYMP125U64CP8-S6 2gb x3, 6gb
Видеокарта: NVIDIA GeForce GTS 450
Звук: Intel 82801IB ICH9
Блок питания: ATX-450PNR
ОС: Windows 10 x64 Корпоративная

Доброго времени суток!
Столкнулся с интересной проблемой, компьютер начал вести себя неадекватно.

Может периодически перезагружаться, может просто зависнуть, выкидывает из игр, перезагружается браузер и прочие непонятности.

Решил проверить на стабильность систему при помощи тестов AIDA, температура в пределах нормы, процессор имеет отличное охлаждение (Zalman CNPS10X Extreme), 30-40 градусов у процессора и 34 у материнской платы. Так вот, после запуска теста стабильности температура так и осталась в пределах нормы но выскочила ошибка Warning: Hardware failure detected!
Как я понимаю, сообщением Warning: Hardware failure detected! AIDA64 сообщила о неких проблемах с железом, я загуглил инфу, и методом вычисления, пришел к выводу что в момент теста Оперативной памяти происходит такой косяк, ну я сразу же проверил три планки по 2гб, встроенной программой windows 10 и что-бы наверняка еще проверил программой memtest86, ошибок не выявлено.

AIDA 64 stress test. Hardware failure detected.

Всем доброго времени суток!
Выскакивает ошибка в AIDA 64 такая, как в шапке. Выскакивает после stress fpu.
Вот скриншоты:
.
Что делать? Помогите, пожалуйста, разобраться.
PS Тесты такие короткие, потому что AIDA при тесте FPU после нескольких секунд уже останавливает тест.
PPS Может ли скорость жесткого диска влиять на микрофризы?

Лучшие комментарии

Все запущенно, ооооочень запущенно. Ты уверен что хочешь этим заниматься? Вообще у меня щас времени нету заниматься разгоном по удаленке, ибо сессия в самом рзгаре. Могу разве что помочь следующим видео.
Тебе может показаться это странным, но посмотри гайд по разгону от nvidia. Там все четко описали. Только начинать можешь не с номинально частоты, а с турбобуста. И посмотри на изначальный вольтаж и оцени возможность разгона самого CPU. Если он завышен, то достичь 4,8 будет больно. А ну, еще на оверах недавно статья проскакивала с советами по разгону для скайлейков. Там вся линейка процов на самом деле ведет себя при разгоне очень странно и приходится поднимать частоту оперативки, иногда очень сильно.

360 вт в нагрузке, эффективная мощность БП какая?!

Любой перекос легко даст убой стабильности. Лучше вообще выбрось идею о разгоне. Все равно сейчас от процессора в шутерах/экшенах толку мизер. Если уж моего Core i5-4670 хватает за глаза (40-50% нагрузки в практически любой игре и нагрузка видюхи под 90%), то твоего подавно должно хватать. А вот убить железку ты можешь очень быстро.
Если уж совсем невмоготу, то:
— Читай внимательно гайды, делай разгон ОЧЕНЬ мелкими шагами. Если поднимаешь вольтаж, делай это предельно осторожно: спалить нахрен процессор за 18000 рублей вместе с мамкой и памятью — дело одной секунды.
— Никогда не ставь значения наобум, тестируй каждое изменение стресс-тестами в течение 2 часов.

Если ставить значения «из реальных тестов», то есть шанс убить железо, потому как твой образец процессора может обладать куда более узкими границами разгона.

AIDA64 «Warning: Hardware failure detected! Test stopped » Решил разогнать процессор.

Решил я разогнать совй i7 6700k,в биосе поставил Core Ratio на 46,вольтаж поставил 1.330,и пошёл тестить. Зашел в гта 5,побегал, вродь все норм, а потом раз и вылетело. Я не предавая этому значения запустил гта повторно, и тоже самое! Потом пошёл в бф 1,побегал побегал и вообще синий экран вылетает и гг (Решил запустить стресс тест, а именно AIDA64,там выдало вот такой вот трабл после 6-9 секунд теста.

За последние 24 часа нас посетили 17228 программистов и 1269 роботов. Сейчас ищут 498 программистов …


  1. Георгий

    Георгий
    Активный пользователь

    С нами с:
    24 мар 2010
    Сообщения:
    3
    Симпатии:
    0

    $requestAddress = «http://www.aaa.ru»;
    $xml_str = file_get_contents($requestAddress,0);
    $xml = new SimplexmlElement($xml_str);

    выдаёт ошибку String could not be parsed as XML
    Как быть?
    Спасибо


  2. Luge

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск


  3. Георгий

    Георгий
    Активный пользователь

    С нами с:
    24 мар 2010
    Сообщения:
    3
    Симпатии:
    0


  4. karakh

    karakh
    Активный пользователь

    С нами с:
    11 дек 2007
    Сообщения:
    1.344
    Симпатии:
    0

    а если просто вывести echo $xml_str — там xml есть? или там false, например?


  5. Apple

    Apple
    Активный пользователь

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2

    Раньше говорили «блин буду!».
    Эх, молодежь.


  6. Padaboo

    Команда форума
    Модератор

    С нами с:
    26 окт 2009
    Сообщения:
    5.242
    Симпатии:
    1

    Apple
    да не он просто имел ввиду что, там xml весит 1600 килограмм хз сколько это в килобайтах xD


  7. Георгий

    Георгий
    Активный пользователь

    С нами с:
    24 мар 2010
    Сообщения:
    3
    Симпатии:
    0

    вот там какая хрень
    Полный текст фрагмента
    <?php
    function getWeather() {
    $requestAddress = «http://www.google.com/ig/api?weather=челябинск&hl=ru»;
    $xml_str = file_get_contents($requestAddress,0);
    XML $xml = new SimplexmlElement($xml_str);
    $count = 0;
    echo ‘<div id=»weather»>’;
    foreach($xml->weather as $item) {
    foreach($item->forecast_conditions as $new) {
    echo ‘<div class=»weatherIcon»>’;
    echo ‘<img src=»http://www.google.com/’ .$new->icon[‘data’] . ‘»/><br/>’;
    echo $new->day_of_week[‘data’];
    echo ‘</div>’; } }
    echo ‘</div>’;}
    getWeather();
    ?>

    а по адресу http://www.google.com/ig/api?weather=челябинск&hl=ru

    лежит

    <xml_api_reply version=»1″> <weather module_id=»0″ tab_id=»0″ mobile_row=»0″ mobile_zipped=»1″ row=»0″ section=»0″> <forecast_information> <city data=»Chelyabinsk, Province of Chelyabinsk»/> <postal_code data=»челябинск»/> <latitude_e6 data=»»/> <longitude_e6 data=»»/> <forecast_date data=»2010-02-10″/> <current_date_time data=»2010-02-10 08:00:00 +0000″/> <unit_system data=»US»/> </forecast_information> <current_conditions> <condition data=»Cloudy»/> <temp_f data=»-13″/> <temp_c data=»-25″/> <humidity data=»Humidity: 73%»/> <icon data=»/ig/images/weather/cloudy.gif»/> <wind_condition data=»Wind: SE at 4 mph»/> </current_conditions> <forecast_conditions> <day_of_week data=»Wed»/> <low data=»-17″/> <high data=»2″/> <icon data=»/ig/images/weather/mostly_sunny.gif»/> <condition data=»Mostly Sunny»/> </forecast_conditions> <forecast_conditions> <day_of_week data=»Thu»/> <low data=»-1″/> <high data=»12″/> <icon data=»/ig/images/weather/cloudy.gif»/> <condition data=»Cloudy»/> </forecast_conditions> <forecast_conditions> <day_of_week data=»Fri»/> <low data=»5″/> <high data=»18″/> <icon data=»/ig/images/weather/mostly_sunny.gif»/> <condition data=»Partly Sunny»/> </forecast_conditions> <forecast_conditions> <day_of_week data=»Sat»/> <low data=»6″/> <high data=»27″/> <icon data=»/ig/images/weather/mostly_sunny.gif»/> <condition data=»Partly Sunny»/> </forecast_conditions> </weather></xml_api_reply>


  8. karakh

    karakh
    Активный пользователь

    С нами с:
    11 дек 2007
    Сообщения:
    1.344
    Симпатии:
    0

    в настоящий момент там лежит
    <?xml version=»1.0″?><xml_api_reply version=»1″><weather module_id=»0″ tab_id=»0″ mobile_row=»0″ mobile_zipped=»1″ row=»0″ section=»0″ ><problem_cause data=»Информация временно недоступна.»/></weather></xml_api_reply>

    Но вопрос для начала в том, вытягивает ли file_get_contents($requestAddress,0); этот xml или нет.


  9. Luge

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск

    вытягивает, скорее всего

    Георгий
    1. у SimplexmlElement конструктор принимает в качестве первого параметра и url

    1. <?php $xml = new SimplexmlElement($requestAddress, null, true); ?>

    2. Кодировки

    либо приводить к utf-8, чтоб SimplexmlElement мог отработать

    либо просто указать кодировку ответа в запросе

I have a string field in database with value:

<ProductOrderItem>
<Product>
<ProductOffering>
<id>1</id>
</ProductOffering>
<ComponentProduct>
<ProductOffering>
<Id>10</Id>
</ProductOffering>
<CharacteristicValue>
<Characteristic>
<Name>Color</Name>
</Characteristic>
<Value>black</Value>
</CharacteristicValue>
<CharacteristicValue>
<Characteristic>
<Name>IMEI</Name>
</Characteristic>
<Value>imei100</Value>
</CharacteristicValue>
</ComponentProduct>
<ComponentProduct>
<ProductOffering>
<Id>11</Id>
</ProductOffering>
<CharacteristicValue>
<Characteristic>
<Name>MSISDN</Name>
</Characteristic>
<Value>063</Value>
</CharacteristicValue>
<CharacteristicValue>
<Characteristic>
<Name>IMSI</Name>
</Characteristic>
<Value>064</Value>
</CharacteristicValue>
</ComponentProduct>
</Product>
</ProductOrderItem>

when I try:

$xml = new SimpleXMLElement($field);

I am getting exception:

String could not be parsed as XML

I validated XML in Notepad++ and it says «No Error Detected».
I really must have this XML value in some field from that string field.
Where is my problem?
Thank you

Update:
My field now has value:

<?xml version="1.0" encoding="utf-8"?>
<ProductOrderItem><Product><ProductOffering><id>1</id></ProductOffering><ComponentProduct><ProductOffering><Id>10</Id></ProductOffering><CharacteristicValue><Characteristic><Name>Color</Name></Characteristic><Value>black</Value></CharacteristicValue><CharacteristicValue><Characteristic><Name>IMEI</Name></Characteristic><Value>imei100</Value></CharacteristicValue></ComponentProduct><ComponentProduct><ProductOffering><Id>11</Id></ProductOffering><CharacteristicValue><Characteristic><Name>MSISDN</Name></Characteristic><Value>063</Value></CharacteristicValue><CharacteristicValue><Characteristic><Name>IMSI</Name></Characteristic><Value>064</Value></CharacteristicValue></ComponentProduct></Product></ProductOrderItem>

But still same exception.

hakre's user avatar

hakre

194k52 gold badges436 silver badges836 bronze badges

asked Apr 5, 2013 at 9:39

Veljko's user avatar

5

$filed='<?xml version="1.0" encoding="utf-8"?>
 <ProductOrderItem>
  <Product>
    <ProductOffering>
      <id>1</id>
    </ProductOffering>
    <ComponentProduct>
      <ProductOffering>
        <Id>10</Id>
      </ProductOffering>
      <CharacteristicValue>
        <Characteristic>
          <Name>Color</Name>
        </Characteristic>
        <Value>black</Value>
      </CharacteristicValue>
      <CharacteristicValue>
        <Characteristic>
          <Name>IMEI</Name>
        </Characteristic>
        <Value>imei100</Value>
      </CharacteristicValue>
    </ComponentProduct>
    <ComponentProduct>
      <ProductOffering>
        <Id>11</Id>
      </ProductOffering>
      <CharacteristicValue>
        <Characteristic>
          <Name>MSISDN</Name>
        </Characteristic>
        <Value>063</Value>
      </CharacteristicValue>
      <CharacteristicValue>
        <Characteristic>
          <Name>IMSI</Name>
        </Characteristic>
        <Value>064</Value>
      </CharacteristicValue>
    </ComponentProduct>
  </Product>
</ProductOrderItem>';

$xml = new SimpleXMLElement($filed);
print_r($xml );

use this function for check xml

function isXML($xml){
   libxml_use_internal_errors(true);

   $doc = new DOMDocument('1.0', 'utf-8');
   $doc->loadXML($xml);

   $errors = libxml_get_errors();

   if(empty($errors)){
       return true;
   }

   $error = $errors[0];
   if($error->level < 3){
       return true;
   }

   $explodedxml = explode("r", $xml);
   $badxml = $explodedxml[($error->line)-1];

   $message = $error->message . ' at line ' . $error->line . '. Bad XML: ' . htmlentities($badxml);
   return $message;
}

sample echo isXML($filed);

answered Apr 5, 2013 at 9:46

mohammad mohsenipur's user avatar

5

I have as well valid XML in a database (and also in some files on disk). I can send it to you (if you really want to see it). However only having valid XML somewhere is totally useless in the context of your code:

$xml = new SimpleXMLElement($field);

It is much more important with that string that is inside the $field variable you’ve got is valid XML. And if you had problems to understand the error message: You do not have any valid XML in $field.

The only thing you need to do is to put valid XML into that variable.

That works best by finding out what exactly is inside that variable first. You can then compare that with your expecatations, you’ll probably immediatly spot the problem then and fix it.

HTH.

(Hint: If you still hit the wall after you’ve found out, provide a hex-dump of $field).

Community's user avatar

answered Apr 5, 2013 at 21:23

hakre's user avatar

hakrehakre

194k52 gold badges436 silver badges836 bronze badges

Знатоки, подскажите пожалуйста как убрать данную ошибку String could not be parsed as XML.
Версия дистрибутива altlinux-7.0.4-school-server-i586-ru-install-dvd5, установил Joomla 3, социальную сеть JomSocial-3.0.1 и вылезла данная ошибка в консоли администратора Joomla, и висит консоль управления, не ходит по меню.
Я так понимаю нет в PHP поддержки XML, тупо ее надо установить. Запускал apt-get upgrade, apt-get update  не помогло, ошибка осталась.
Как сделать это правильно ?

« Последнее редактирование: 07.05.2015 13:58:37 от Skull »


Записан


Знатоки, подскажите пожалуйста как убрать данную ошибку String could not be parsed as XML.
Версия дистрибутива altlinux-7.0.4-school-server-i586-ru-install-dvd5, установил Joomla 3, социальную сеть JomSocial-3.0.1 и вылезла данная ошибка в консоли администратора Joomla, и висит консоль управления, не ходит по меню.
Я так понимаю нет в PHP поддержки XML, тупо ее надо установить. Запускал apt-get upgrade, apt-get update  не помогло, ошибка осталась.
Как сделать это правильно ?

Надо логи Apache смотреть (/var/log/httpd2/error_log)


Записан

Андрей Черепанов (cas@)


Вот журналы ошибок. Переименовал расширение txt.


Записан


Предполагаю надо добавить поддержку XML командой apt-get install php-xml
Пробовал, выходит сообщение Данный пакет не найден. Значит надо добавить в список репозиториев нужный репозиторий.
Какой нужно добавить  репозиторий ?


Записан


В репозитории видно только это

# apt-cache search php5 | grep xml
php5-xmlrpc - XML-RPC module for PHP5


Записан


Проверил:
[root@altserver ~]# apt-cache search php5 | grep xml
php5-xmlrpc — XML-RPC module for PHP5

Попробовал установить:
[root@altserver ~]# apt-get install php5-xmlrpc
Чтение списков пакетов… Завершено
Построение дерева зависимостей… Завершено
Последняя версия php5-xmlrpc уже установлена.
0 будет обновлено, 0 новых установлено, 0 пакетов будет удалено и 0 не будет обновлено.

И XML
[root@altserver ~]# apt-get install php5-xml
Чтение списков пакетов… Завершено
Построение дерева зависимостей… Завершено
Выбрано php5-libs для ‘php5-xml’
Последняя версия php5-libs уже установлена.
0 будет обновлено, 0 новых установлено, 0 пакетов будет удалено и 0 не будет обновлено.

Наверное причина в другом.

« Последнее редактирование: 05.05.2015 10:02:50 от ArtCh »


Записан


Я так понимаю нет в PHP поддержки XML, тупо ее надо установить. Запускал apt-get upgrade, apt-get update  не помогло, ошибка осталась.

Неправильная фраза. Правильно — нет соответствующего модуля.

Как сделать это правильно ?

Понять, что вот это:

failed to load external entity "http://cloud.jomsocial.com/jomsocial.xml" in /var/www/html/joomla/plugins/system/jomsocialupdate/jomsocialupdate.php on line 195Если тут вызывается какая-то функция, надо понять, в каком она модуле может быть. Надо ещё посмотреть в описании Джумалы, что ей надо. Вроде бы, ещё pear отношение к php имеет…


Записан


failed to load external entity "http://cloud.jomsocial.com/jomsocial.xml" in /var/www/html/joomla/plugins/system/jomsocialupdate/jomsocialupdate.php on line 195Если тут вызывается какая-то функция, надо понять, в каком она модуле может быть. Надо ещё посмотреть в описании Джумалы, что ей надо. Вроде бы, ещё pear отношение к php имеет…

$ curl -Is http://cloud.jomsocial.com/jomsocial.xml | head -1
HTTP/1.1 404 Not Found
Потому что это старый неподдерживаемый шлак и не работает. Софт и модули тут не при чём.


Записан

Андрей Черепанов (cas@)


При инсталляции JomSocial происходит проверка и последний пункт сообщает о ошибки, наверное в этом причина.
Если щелкнуть далее, инсталляция продолжается и заканчивается без ругательств. И не работает консоль администратора. А сам сайт живой и все работает.

If any of these are not supported (marked as No), your system does not meet the requirements for installation. Some features might not be available. Please take appropriate actions to correct the errors.

JPEG Library       Yes
PNG Library       Yes
GIF Library       Yes
GD Library       Yes
GD2 Library       Yes
cURL Library       No

Правильнее было бы узнать требование JomSocial к версиям и наличию необходимых модулей, компонентов на сервере, что есть и чего не хватает.
Такое очучение что для PHP не все нужные модули установлены.

« Последнее редактирование: 05.05.2015 12:24:32 от ArtCh »


Записан


cURL Library       No

Наверное, это php5-curl


Записан


Проверил
[root@altserver joomla]# apt-get install php5-curl
Чтение списков пакетов… Завершено
Построение дерева зависимостей… Завершено
Последняя версия php5-curl уже установлена.
0 будет обновлено, 0 новых установлено, 0 пакетов будет удалено и 0 не будет обновлено.
[root@altserver joomla]#

Есть в наличии.


Записан


Есть в наличии.

Смотрите код, который проверяет наличие этого пункта. Например, нет собственно программы curl из одноимённого пакета.


Записан

Андрей Черепанов (cas@)


Как правильно написать команду добавить недостающие компоненты для всего Lamp сервера сразу, что не навредить  работоспособности всего сервера ?


Записан


Как правильно написать команду добавить недостающие компоненты для всего Lamp сервера сразу, что не навредить  работоспособности всего сервера ?

apt-get install lamp-serverНо это именно базовый LAMP-сервер, без довесков, которые для разных веб-приложений отличаются.


Записан

Андрей Черепанов (cas@)


Но это именно базовый LAMP-сервер, без довесков, которые для разных веб-приложений отличаются.

Какая должна быть команда Добавить все довески ?   8-|


Записан


Понравилась статья? Поделить с друзьями:
  • Street storm ошибка 101 при обновлении
  • Street fighter 5 ошибка 21018
  • Streamcraft ошибка при получении списка обновлений
  • Super bunny man unity ошибка
  • Stream memory fix для gta san andreas ошибка