У меня проблема с функцией php SimpleXMLElement. Это мой код:PHP Необлученное исключение «Исключение» с сообщением «Строка не может быть проанализирована как XML
echo $xmldata;
$nodes = new SimpleXMLElement($xmldata);
Уит этот код у меня есть ниже вывод:
<?xml version="1.0" encoding="utf-8"?>
<node>
<node>
<title>CONTENT DI PROVA</title>
<body>CIAO CIAO
</body>
<created>Thursday, June 4, 2015 - 17:37</created>
<type>Article</type>
<field_geoposition>Geolocation is 45.4654219, 9.18592430000001</field_geoposition>
<path>/Argomentiamo/?q=node/1</path>
</node>
</node>
Fatal error: Uncaught exception 'Exception' with message 'String could not be parsed as XML' in
/membri/****/*****/****:50 Stack trace: #0 /membri/****/*****/****(50): SimpleXMLElement->__construct('<code><span sty...') #1 /membri/****/*****/****(101): xmlToArel() #2 {main} thrown in /membri//****/*****/**** on line 50
но если я заменить $ XMLDATA с его выходом в функции SimpleXMLElement, как это:
echo $xmldata;
$nodes = new SimpleXMLElement('<?xml version="1.0" encoding="utf-8"?>
<node>
<node>
<title>CONTENT DI PROVA</title>
<body>CIAO CIAO
</body>
<created>Thursday, June 4, 2015 - 17:37</created>
<type>Article</type>
<field_geoposition>Geolocation is 45.4654219, 9.18592430000001</field_geoposition>
<path>/Argomentiamo/?q=node/1</path>
</node>
</node>'/*$xmldata*/);
я не имею ошибок ...
EDIT: может быть, проблема в том, что я использую highlight_string держать мой XML:
$ch = curl_init($xmlsource);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$sorgente = curl_exec($ch);
curl_close($ch);
$xmldata = highlight_string($sorgente,true);
Кто-то может мне помочь?
Да, не выделяйте/не удаляйте строку XML, а затем ожидайте, что она будет читаться как XML. Просто передайте '$ sorgente' в функцию SimpleXML. – IMSoP
работает :) спасибо! – Luke