SimpleXML et cdata - PHP - Programmation
Marsh Posté le 13-09-2011 à 11:18:28
Je n'ai jamais eu de problèmes avec SimpleXML et les CDATA.
Est-ce que tu peux nous fournir le fichier que tu essayes de lire ou il s'agit de données confidentielles ?
Marsh Posté le 13-09-2011 à 14:26:52
C'est un flux tout bete, qui vient d'un programme d'affiliation : http://promo.feed.cleafs.com/xml/u [...] UBq/12692/
La reponse qui se trouve sur un grand nombre de sites est la suivante : http://blog.evandavey.com/2008/04/ [...] n-php.html
Mais ca ne marche que pour l'affichage via print_r() (ca m'affiche "Concerts" pour eventtype au lieu de rien du tout), pas quand je cherche a recuperer les valeurs...
Marsh Posté le 13-09-2011 à 16:35:09
En fait c'est tout bête, c'est juste que tu as oublié un noeud dans ta syntaxe echo.
Code :
|
Tu peux donc enlever les deux derniers paramètres que tu donnes à ta fonction simplexml_load_file car ils ne servent à rien, ça fonctionne très bien sans.
Marsh Posté le 13-09-2011 à 00:24:19
Bonjour,
Desole pour l'absence d'accents - clavier pas francais !
J'essaie d'extraire avec PHP des donnees d'un flux XML dont certains nodes sont du CDATA (en l'occurence "eventtype" ci-dessous est <eventtype><![CDATA[Concerts]]></eventtype> ). Apres m'etre apercu que simpleXML ne le lisait pas, j'ai essaye de regler le probleme comme explique sur tous les sites renvoyes par google - en ajoutant l'argument LIBXML_NOCDATA:
$sxml_results = simplexml_load_file("myfile.xml",'SimpleXMLElement',LIBXML_NOCDATA);
print_r($sxml_results); // Cela me montre bien la valeur d'eventtype
foreach ($sxml_results->product AS $product)
{
echo $product->eventtype; //Ici eventtype n'est pas lu et cela me renvoie ' '
}
Cela me rend fou... Merci d'avance !
Anak