[XML] Recupérer le contenu d'une balise XML en PHP
Bonjour,
J'ai un souci en utilisant le perseur XML de PHP.
Imaginons que j'ai un fichier XML qui ressemble à ca :
Code:
1 2 3 4 5 6
| <1>
<2>
<3>blibli</3>
<4>blabla</4>
</2>
</1> |
Je souhaiterais, lorsque j'arrive dans la balise <2>, recupérer le contenu comme suit :
Code:
1 2 3
|
<3>blibli</3>
<4>blabla</4> |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
$fichier = fopen('fichier.xml','r');
$parser = xml_parser_create();
xml_set_object ($parser, $this);
xml_set_element_handler($parser, "StartElement", "EndElement");
xml_set_character_data_handler($parser, "GetData");
while ($data = fread($fichier, 4096))
{
if (!xml_parse($parser, $data, feof($fichier)))
die(sprintf("XML error: %s at line %d", xml_error_string(xml_get_error_code($parser)), xml_get_current_line_number($parser)));
}
xml_parser_free($parser);
fclose($fichier); |
pour récupérer les données, j'ai essayer ca (la variable $currentElement corremond au nom de la balise que j'ai récupérer dans StartElement):
Code:
1 2 3 4 5 6 7
| function GetData($parser, $data)
{
switch ($currentElement)
{
case '2' : echo $data; break;
}
} |
Dans ce cas, $data est vide... Y a t'il y moyen d'obtenir ce que je veux avec ce genre de méthode ?