Version complète: sur le forum Webmaster Hub : Récupérer les données d'un fichier XMl
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > XML et ses dialectes
sparh
Bonsoir,
2 semaines que je suis sur ce problème, je suis allé sur plusieurs forums, et essayé plein de tutos, rien ne marche!
J'éspère que vous pouurez m'aider car là je comprends plus.

Donc je cherche à récupérer les données d'un fichier xml pour les afficher dans une page (php).
Le fichier xml est tout simple:
CODE
<?php
include("Includ/configuration.php");  
  
// prepare le fichier html pour le mettre en utf8 (xml)  
function cleanText($intext) {  
return utf8_encode(htmlspecialchars(stripslashes($intext)));  
}  
  
header("Content-Type: text/xml;charset=utf-8");  

$req= "SELECT * FROM Jeux ORDER BY rand() LIMIT 1";  
$res = mysql_query($req) or die('erreur<br />'.$req.'<br />'.mysql_error());  
  
  
print("<?xml version=\"1.0\" encoding=\"utf-8\"?>");  
  
// on affiche les infos  
$row=mysql_fetch_array($req);  
$titre = cleanText($row["jeux"]);  
$lien = "$url_site/Jeux/".$row["url"];  
$description   = cleanText($row["texte"]);  
$image= $row["image"];  
  
print("<titre>$title</titre>
          <lien>$link</lien>
          <description>$description</description>
          <image>$image</image>");  
  
  
?>


Vous remarquerai qu'il n'y a pas de boucle, je veux simplement récupérer les données contenues dans les balises (titre, lien, description et image).

Voilà, j'éspère vraiment que vous pourrez m'aider.

++
xunil
Ici on a un fichier PHP qui récupère les données dans une base SQL et qui génère un fichier XML.
En changeant les balises on peut aussi bien afficher en HTML

Si on veut récupérer des données XML on peut utiliser DOMDocument ou SimpleXML en PHP 5 (et des librairies optionnelles en PHP 4).
sparh
Salut,
merci pour cette réponse mais ça je le savais déjà.
Là ou je bloque c'est comment mettre en place DOMDocument par exemple.

Concrétement je cherche un bon tuto.

J'ai longuement cherché sur Google et ses amis sans résultat. Tous les tutos que je trouve ne fonctionne pas ou sont trop compliqués!

Une bonne adresse à me donner ? wink.gif
maximettb
Je crois qu'il y'a une erreur dans le fichier XML généré : il y'a plusieurs balises "root" :
CODE
<?xml version="1.0" encoding="utf-8"?>
<titre>Le titre</titre>
<lien>http://lelien.netcom/</lien>
<description>La description</description>
<image>http://lelien.netcom/image.png</image>


Un XML n'accepte qu'un seul noeud root. Il faudrait donc plutôt quelque chose du genre :

CODE
<?xml version="1.0" encoding="utf-8"?>
<site>
<titre>Le titre</titre>
<lien>http://lelien.netcom/</lien>
<description>La description</description>
<image>http://lelien.netcom/image.png</image>
</site>


Ou alors, je n'ai rien compris à ton problème ;-)
tripy
L'utilisation de l'extension DOM est toute simple en fait:
CODE
//Création du documet DOM
$doc = new DOMDocument();
//importation du contenu de $xml dans le document DOM
$doc->loadXML($xml);

Et à partir de là, tu peut utiliser les getElementsByTagName, getElementById...

http://ch2.php.net/manual/fr/ref.dom.php
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.