Aller au contenu

XML et xpath : demande de précisions


tom-tom

Sujets conseillés

Bonjour à tous,

Pour réaliser un "tri" dans un code XML, on peut utiliser la méthode xpath :

<?php
$string = <<<XML
<a>
<b>
<c>text</c>
<c>stuff</c>
</b>
<d>
<c>code</c>
</d>
</a>
XML;

$xml = new SimpleXMLElement($string);

/* On cherche <a><b><c> */
$result = $xml->xpath('/a/b/c');

while(list( , $node) = each($result)) {
echo '/a/b/c: ',$node,"\n";
}

/* Les chemins relatifs fonctionnent aussi... */
$result = $xml->xpath('b/c');

while(list( , $node) = each($result)) {
echo 'b/c: ',$node,"\n";
}
?>

J'aimerais, dans ce code, au lieu de mettre directement la portion de code XML, qu'on l'a récupère à partir d'un fichier distant (URL). J'ai essayé un $string = fopen (&quot;http://www.domaine.com/fichier.xml"); mais rien de bien de convaincant. :/

Quelqu'un peut-il m'éclairer ?

Merci.

Lien vers le commentaire
Partager sur d’autres sites

Merci pour cette réponse rapide et ces précieuses informations :D

Dans mon cas, est-ce que ce code serait correct ?

<?php
$string = file_get_contents("http://www.carbeo.com/rss/moy_dpt.xml");
$xml = new SimpleXMLElement($string);

/* On cherche <item><title> */
$result = $xml->xpath('item/title');

while(list( , $node) = each($result)) {
echo 'item/title :',$node,"\n";
}

?>

Modifié par tom-tom
Lien vers le commentaire
Partager sur d’autres sites

Essaye, tu verras bien ;)

J'avais bien essayé, mais ça marchait pas. J'ai peur que ça vienne de mon code, c'est pour cela que je voulais savoir s'il avait l'air correct. :D À moins que ce soit mon hébergeur... :/

Lien vers le commentaire
Partager sur d’autres sites

1) vérifie la valeur de $string en faisant un bête echo $string;

2) si $string est vide, cela provient probablement du fait que ton PHP interdit l'ouverture de flux distants (notamment http). Cela se règle dans ton fichier de conf PHP (quelle plate-forme au fait ?)

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...