Aide - Recherche - Membres - Calendrier
Version complète : parser html avec php
Forum Développeur - Administration serveur, programmation et base de données > Programmation > XML et XSL
JarJarBinks
Bonjour à tous,

Je cherche à parser un xml avec php et à effectuer une fonction à chaque rencontre d'un handler. A priori, ça à l'air simple mais je ne trouve pas ma faute.

php :
Code

function fct_texte() {
 echo("dans fct_texte");
 }

//création du parseur
$parseurXML = xml_parser_create();
xml_set_character_data_handler($parseurXML, "fct_texte");


// ouverture du fichier xml, toute cette partie du code fonctionne
$file = "D:l\\xml\\document.xml";
$fp = fopen($file, "r") or die("impossible d'ouvrir le fichier XML");

// Lecture ligne par ligne
   while ( $ligneXML = fgets($fp, 1024)) {
       // Affichage "brut" de la ligne convertie en HTML
       echo htmlEntities($ligneXML)."<br />";
   }

   xml_parser_free($parseurXML);
   fclose($fp);


mon xml :

Code

<?xml version="1.0" encoding="utf-8"?>
<library>
<books>
        <book book_name="book1" book_url="img/books/c7.gif" />
        <book book_name="book2" book _url="img/books/f7.gif" />
...
</books>
</library>


la page php qui résulte du code ci-dessus m'affiche ceci:

<?xml version="1.0" encoding="utf-8"?>
<library>
<books>
<book book_name="book1" book_url="img/books/c7.gif" />
<book book_name="book2" book _url="img/books/f7.gif" />
...
</books>
</library>

Logiquement, 'dans fct_texte' devrais apparaitre plusieurs fois, or il n'en est rien... Quelqu'un voit-il ou je me trompe? icon_cry.gif
jep
Dans le mesure ou tu n'appelle nul part la fonction xml_parse(), tu ne risque pas de voir le resultat que tu attend !

Prend le temps de bien lire la documentation pour comprendre ce que tu fait :
> http://fr2.php.net/manual/fr/ref.xml.php
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'informations, la mise en page et les images, veuillez cliquer ici.
Invision Power Board © 2001-2008 Invision Power Services, Inc.