Bonjour,

J'essaye de comprendre comment lire et extraire des données d'un fichier XML en utilisant DOMXML sachant que je travaille avec PHP4. J'ai repris un code existant et j'essaye de le comprendre mais j'ai un message d'erreur et je ne sais pas d'où il peut venir.

Voici donc mon fichier XML tout simple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
<?xml version="1.0" encoding="ISO-8859-1" ?>
<dictionary>
 <entry>
    <word>Hello</word>
    <meaning>used to express a greeting</meaning>
    <example>Hello World!</example>
 </entry>
</dictionary>
et mon code PHP devant extraire les données de ce fichier :
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
 
<?php
$xml_path = "netude.xml";
    if (!$dom = domxml_open_file($xml_path)) {
        //the above requires absolube path
        exit("Could not access the XML source.");
    }
    $root = $dom->document_element(); //obtain the root
    $array_entry = $root->get_elements_by_tagname("entry"); //gets all <entry> DomElems
 
	foreach ($array_entry as $entry_dom_elem) {   
        $childnodes = $entry_dom_elem->child_nodes();
        foreach ($childnodes as $child) { //cycle thru <word>, <meaning>, <example>
            echo "node name: ".$child->tagname()."; contains: " . $child->get_content()."<br>";
 
        }
    }
?>
Donc quand je lance le fichier PHP j'ai ce message :
Fatal error: Call to undefined method: domtext->tagname() in ...
Du coup, je retire la partie d'affichage du tagname() et là, cela m'affiche le reste correctement.
contains:
contains: Hello
contains:
contains: used to express a greeting
contains:
contains: Hello World!
contains:
Qu'en pensez vous ? ce message d'erreur viendrait-il du code PHP ou d'une mauvaise configuration du serveur ?

Merci à vous