Bonjour,
Après avoir suivi le tuto de Grafikart j'ai voulu essayé de parser un flux xml d'un site météo : http://api.meteorologic.net/api/api/rss\_simple.php?id=4330&
J'ai voulu récupérer la temprérature d'aujourd'hui pour faire un essai.
Voici le code :

<h3>Récupérer la température</h3>
Marseille
<br />
<?php
$curl = curl_init();
curl_setopt($curl,CURLOPT_URL,"http://www.meteorologic.net/webmaster/xml/xml_file_4330.xml");
curl_setopt($curl,CURLOPT_RETURNTRANSFER,true);
$contenu = curl_exec($curl);
$xml = new simpleXMLElement($contenu);
//echo "<pre>".print_r($xml,1)."</pre>";
foreach($xml->item[0] as $v){
    echo "<li>".$v->tempe_midi."</li>";
}
//echo $xml->jour; 
?>
</ul>

J'ai l'erreur :
Warning: SimpleXMLElement::__construct(): Entity: line 1: parser error : Space required after the Public Identifier in /var/www/tuto/curl/meteo2.php on line 14 Warning: SimpleXMLElement::__construct(): in /var/www/tuto/curl/meteo2.php on line 14 Warning: SimpleXMLElement::__construct(): ^ in /var/www/tuto/curl/meteo2.php on line 14 Warning: SimpleXMLElement::__construct(): Entity: line 1: parser error : SystemLiteral " or ' expected in /var/www/tuto/curl/meteo2.php on line 14 Warning: SimpleXMLElement::__construct(): in /var/www/tuto/curl/meteo2.php on line 14 Warning: SimpleXMLElement::__construct(): ^ in /var/www/tuto/curl/meteo2.php on line 14 Warning: SimpleXMLElement::__construct(): Entity: line 1: parser error : SYSTEM or PUBLIC, the URI is missing in /var/www/tuto/curl/meteo2.php on line 14 Warning: SimpleXMLElement::__construct(): in /var/www/tuto/curl/meteo2.php on line 14 Warning: SimpleXMLElement::__construct(): ^ in /var/www/tuto/curl/meteo2.php on line 14 Fatal error: Uncaught exception 'Exception' with message 'String could not be parsed as XML' in /var/www/tuto/curl/meteo2.php:14 Stack trace: #0 /var/www/tuto/curl/meteo2.php(14): SimpleXMLElement->__construct('

Merci pour votre aide, je comprends pas le message d'erreur

2 réponses


wilose
Réponse acceptée

Bonjour,
J'ai trouvé un lien intéressant : developpez.com

<?php
$dom = new DomDocument();
$dom->load('http://www.meteorologic.net/webmaster/xml/xml_file_4330.xml');
$deg_matin = $dom->getElementsByTagName('tempe_matin');
foreach($deg_matin as $key => $matin){
    if ($key == 0) {
        echo 'Temps matin : ' . $matin->firstChild->nodeValue . '<br />';
    }
}
$deg_prem = $dom->getElementsByTagName('tempe_apmidi');
foreach($deg_prem as $key => $prem){
    if ($key == 0) {
        echo 'Temps après-midi : ' . $prem->firstChild->nodeValue . '<br />';
    }
}?>

Il y a surement plus simple, faut voir la doc..

woubi
Auteur

Merci! je vais lire le tuto que tu donnes en lien aussi. A +