Fichier Xml dans une variable et encodage
fxtaa
Messages postés
1170
Statut
Membre
-
fxtaa Messages postés 1170 Statut Membre -
fxtaa Messages postés 1170 Statut Membre -
Bonjour,
J'ai un fichier Xml que je charge dans une variable de cette façon :
Après ça je rentre mes mots clés pour récupérer les informations qui m'intéressent :
Après je les affiche (+ un compteur mais bon facultatif) :
Donc la si je fais ça j'ai cette erreur :
J'ai ensuite décidé de télécharger le xml et faire un load de mon xml directement en local, j'ai obtenu cette erreur (+celle qui est marqué au dessus):
Pour corriger cette erreur d'encodage, j'ai rajouté manuellement ce bout de code au début de mon fichier xml :
Et là, ça fonctionne. Aucune erreur.
Malheureusement, je récupère le xml dans une variable donc je ne voit pas trop comment faire....je ne peux pas rajouter cette ligne dans le xml, donc si vous avez une idée, je suis tout ouïe !
J'ai un fichier Xml que je charge dans une variable de cette façon :
$acti = curl_init(); curl_setopt($acti, CURLOPT_URL, "URL_OU_SE_TROUVE_LE_XML"); curl_setopt($acti, CURLOPT_HEADER, 0); curl_setopt($acti, CURLOPT_RETURNTRANSFER, true); curl_setopt ($acti, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1"); $activite = curl_exec($acti); curl_close($acti); print_r($activite); $actidom = new DomDocument(); $actidom->load($activite);
Après ça je rentre mes mots clés pour récupérer les informations qui m'intéressent :
$paracti = $actidom->getElementsByTagName('feed')->item(0);
$listacti = $paracti->getElementsByTagName("content");
Après je les affiche (+ un compteur mais bon facultatif) :
$g = 0;
foreach($listacti as $membre){
if ($g < 5 ){
$g = $g + 1;
echo "$membre->nodeValue <BR />";
}
else {break;}
}
Donc la si je fais ça j'ai cette erreur :
Fatal error: Call to a member function getElementsByTagName() on a non-object in C:\wamp\www\pms\activite.php on line 19(Ligne 19 = $listacti = $paracti->getElementsByTagName("content"); )
J'ai ensuite décidé de télécharger le xml et faire un load de mon xml directement en local, j'ai obtenu cette erreur (+celle qui est marqué au dessus):
Warning: DOMDocument::load() [domdocument.load]: Input is not proper UTF-8, indicate encoding ! Bytes: 0xE9 0x20 0x5B 0x4D in file:///C:/wamp/www/pms/ar.xml, line: 9 in C:\wamp\www\pms\activite.php on line 15
Pour corriger cette erreur d'encodage, j'ai rajouté manuellement ce bout de code au début de mon fichier xml :
<?xml version="1.0" encoding="iso-8859-1"?>
Et là, ça fonctionne. Aucune erreur.
Malheureusement, je récupère le xml dans une variable donc je ne voit pas trop comment faire....je ne peux pas rajouter cette ligne dans le xml, donc si vous avez une idée, je suis tout ouïe !
A voir également:
- Fichier Xml dans une variable et encodage
- Fichier bin - Guide
- Fichier epub - Guide
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier .dat - Guide