j'ai testé le parseur XML::Simple qui est très facile à utiliser. Cela pose un petit problème pour les éléments vides. Il ne faut pas oublier la syntaxe suivante my $xs1 = XML::Simple->new(suppressempty => '');
. Ainsi la valeur de sortie n'est pas une valeur barbare de référence du hash comme HASH(0x1877dc)
.
Un petit bout de code appliqué à index.xml contenant les informations de village.
#!/usr/bin/perl use strict; use XML::Simple; my $file = 'index.xml'; my $xs1 = XML::Simple->new(suppressempty => undef); my $doc = $xs1->XMLin($file); my $nwnomville = $doc->{nwheader}->{nwnomville}; print "Nom ville : " . $nwnomville . "\n"; print "Nom Reg : " . $doc->{nwheader}->{nwregion} . "\n"; print "Nbr hab : " . $doc->{nwheader}->{nwhabnbr} . "\n"; print "Empty Elt : " . $doc->{nwtexte}->{texte}->{nwContrib} . "\n";
qui donne le résultat suivant
Nom ville : Aunay-sur-Odon Nom Reg : Basse-Normandie Nbr hab : 2889 Empty Elt :
Une autre bonne référence est Perl-XML sur SourceForge.
XML and Content Management
: Un excellent article qui utilise également XML::Simple et qui donne des exemples de gabarits templates) dans le cadre de la gestion de contenu. (Must to read)
salut
parseur en php:
sais-tu comment parcourir l'arbre d'un fichier xml et modifier la valeur d'un attribut.s'il est à vrai le mettre a faux