Probleme de parsage XML en php

Probleme de parsage XML en php - PHP - Programmation

Marsh Posté le 24-01-2007 à 10:16:51    

Bonjour,
 
Lorsque je mets mon site en ligne, j'ai une erreur sur le parsage d'un fichier XML.
 
J'ai beau regardé via google, je ne trouve pas de reponse correspondant à mon probleme.
 
mon erreur :
 
Warning: xml_parse() [function.xml-parse]: Unable to call handler () in /home/creusois/www/pariscapprog/admin/producteurs/parseXml.php on line 25
 
Ce que je comprends pas, c'est que je n'utilise jamais de fonction nomée handler.  
 
Je pense que c'est une fonction systeme, il faut peut etre que je mette le prototypage dans mon fichier php pour la declarer.
 
Qqn aurait-il une idée ?

Reply

Marsh Posté le 24-01-2007 à 10:16:51   

Reply

Marsh Posté le 24-01-2007 à 10:33:58    

creusois a écrit :

Ce que je comprends pas, c'est que je n'utilise jamais de fonction nomée handler.

tu as mal compris le message d'erreur, les handler sont des fonctions appelées lors de certains évènements (par exemple début ou fin de balise)... etc
donc là il ne cherche pas une fonction nommée handler mais une fonction qui n'a pas de nom donc forcément ça plante
 
montre nous ton code ça sera plus parlant

Reply

Marsh Posté le 24-01-2007 à 10:38:23    

Tout d'abord, merci Soju de repondre si rapidement,
 
Mon code est le suivant
 

Citation :


    // Création du parseur XML
    $parseurXML = xml_parser_create();
 
    // Je précise le nom des fonctions à appeler
    // lorsque des balises ouvrantes ou fermantes sont rencontrées
    xml_set_element_handler($parseurXML, "parseForm", "" );
 
    // Je précise le nom de la fonction à appeler
    // lorsque du texte est rencontré
    xml_set_character_data_handler($parseurXML, "parseText" );
 
    // Ouverture du fichier
    $fp = fopen($fichier, "r" );
    if (!$fp) die("Impossible d'ouvrir le fichier XML" );
 
    // Lecture ligne par ligne
   while ( $ligneXML = fgets($fp, 1024)) {
        // Analyse de la ligne
        // REM: feof($fp) retourne TRUE s'il s'agit de la dernière
        //      ligne du fichier.
 
        xml_parse($parseurXML, $ligneXML, feof($fp)) or
            die("Erreur XML" );
    }
     
    xml_parser_free($parseurXML);
    fclose($fp);


 
J'ai aussi une page de fonction, si tu juges en avoir besoin, dis le moi.
 
Alexandre

Reply

Marsh Posté le 24-01-2007 à 11:05:01    

creusois a écrit :

Code :
  1. xml_set_element_handler($parseurXML, "parseForm", "" );


je te laisse trouver l'erreur

Reply

Marsh Posté le 24-01-2007 à 11:10:03    

Et bien j'avoue que j'ai du mal à trouver moi meme.
 
Je premier element est la variable qui contient le parseur XML,
 
Le deuxieme est le nom de la fonction vers ou se tourner pour chaque element rencontrer, et le troisieme, il n'y en a pas, car c'est un tableau d'attribut dont je ne pense pas avoir besoin.

Reply

Marsh Posté le 24-01-2007 à 11:43:03    

creusois a écrit :

et le troisieme, il n'y en a pas, car c'est un tableau d'attribut dont je ne pense pas avoir besoin.

???
 
relis bien la page suivante : http://fr.php.net/xml_set_element_handler

Reply

Marsh Posté le 24-01-2007 à 12:07:45    

Merci bien ca marche! Je suivais une autre page, et je pense qu'ils se trompent!
 
Jettes un coup d'oeil ici.
 
http://www.manuelphp.com/php/funct [...] andler.php

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed