IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Erreur avec l'API dom xml


Sujet :

Langage PHP

  1. #1
    Membre habitué Avatar de bluemartini
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    154
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2006
    Messages : 154
    Points : 168
    Points
    168
    Par défaut Erreur avec l'API dom xml
    Bonjour à tous,

    je galère à utiliser l'API domxml avec PHP (version 4.3.9) :
    pour le tester j'ai cette fonction process qui parcourt un document XML et affiche le texte des feuilles du document. En résultat, j'ai droit au message d'erreur suivant : Call to a member function on a non-object in /var/www/html/developpement/Test.php on line 6

    J'ai vérifié, l'API est bien installée sur le serveur, et fonctionnelle (d'après phpinfo)

    Est ce que quelqu'un pourrait me dire ce qui pourrait provoquer cette erreur?

    Merci!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    function process($noeud)
    {
    	if ($noeud->has_child_nodes())
    	{
    		foreach($noeuds->child_nodes() as $n)
    		{
    			process($n);
    		}
    	}
     
    	//traite les feuilles
    	if ($noeud->node_type() == XML_TEXT_NODE)
    	{
    		$contenu = rtrim($noeud->node_value());
    		if (!empty($contenu))
    		{
    			print "$contenu\n";
    		}
    	}
    }

  2. #2
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    tu es sûr que tu passes la bonne variable à ta fonction ?
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag (en bas)

  3. #3
    Membre habitué Avatar de bluemartini
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    154
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2006
    Messages : 154
    Points : 168
    Points
    168
    Par défaut
    Très bonne question!! J'avais heureusement vérifié avant de poster mon message. Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $dom = domxml_open_file('./result.xml');//fichier XML vérifié répondant à la norme
    $racine = $dom->document_element();
    process($racine);
    Et là j'espère ne pas passer pour un boulet en m'étant trompé dans l'entrée de ma fonction

  4. #4
    Membre expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Points : 3 377
    Points
    3 377
    Par défaut
    Tu n'as pas vérifié si tu récupérais bien quelque chose dans $racine.
    Est-ce que tu affiches bien toutes les erreurs, warnings, notices ?

  5. #5
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    essaie de faire un var_dump sur l'argument de ta fonction pour voir ce qui plante vraiment
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag (en bas)

  6. #6
    Membre habitué Avatar de bluemartini
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    154
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2006
    Messages : 154
    Points : 168
    Points
    168
    Par défaut
    Déjà merci pour le conseil d'utiliser var_dump, je ne connaissais pas, et ça va beaucoup m'aider à débogger je pense!

    Donc là j'ai utilisé var_dump pour ma variable d'entrée, et voici ce qu'il me rend :

    object(domelement)(4) { ["type"]=> int(1) ["tagname"]=> string(5) "study" [0]=> int(3) [1]=> int(155176504) }

    Ce qui me semble ma foi correct...

  7. #7
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    effectivement, et malgèrs ça tu as quand même l'erreur !?



    J'ai compris !!!!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    foreach($noeuds->child_nodes() as $n)
    faute de frappe à la ***
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag (en bas)

  8. #8
    Membre habitué Avatar de bluemartini
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    154
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2006
    Messages : 154
    Points : 168
    Points
    168
    Par défaut
    Et là je passe pour un gros naze boulet à ses heures perdues

    J'ai modifié, et par bonheur ça marche.
    Désolé...
    Et merci!!

  9. #9
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    t'en fait pas... ça arrive à tout le monde (si si... à tout le monde )
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag (en bas)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Extraction des liens d'un XHTML avec l'API DOM
    Par Ioan dans le forum Codes sources à télécharger
    Réponses: 0
    Dernier message: 08/03/2011, 18h49
  2. [DC] API DOM XML
    Par gege2061 dans le forum Diagrammes de Classes
    Réponses: 3
    Dernier message: 29/02/2008, 09h51
  3. Python probleme pour traitement fichier Xml avec l'API dom
    Par chenimitz dans le forum Général Python
    Réponses: 11
    Dernier message: 30/10/2007, 19h34
  4. Ecrire un fichier XML avec la méthode Dom
    Par aswat dans le forum Général Python
    Réponses: 2
    Dernier message: 20/05/2006, 19h41
  5. [DOM] Erreur lors du parsing d'un fichier XML par l'API DOM
    Par patricetoan dans le forum Format d'échange (XML, JSON...)
    Réponses: 5
    Dernier message: 26/09/2005, 12h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo