Parsing et modification fichier xml
Bonjour,
je souhaite mettre a jour un fichier xml en remplissant certaines balises mais le soucis c'est que je ne n'obtiens pas ce que j'aimerai.
Voici ce que j'ai écrit :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| #!/usr/bin/perl
# use module
use strict;
use XML::DOM;
use Data::Dumper;
# parsing du fichier toto.xml
my $parser = new XML::DOM::Parser;
my $doc = $parser->parsefile("toto.xml");
if (!defined($parser) || !defined($doc))
{
undef($parser) if (defined($parser));
next;
}
#mise a jour du fichier xml.
my $base_nodes = $doc->getElementsByTagName("Test");
if (defined($base_nodes) && $base_nodes->getLength > 0 && defined(my $base_node = $base_nodes->item(0)))
{
$base_node->setAttribute("toto", "undeuxtrois");
$base_node->setAttribute("titi", 55);
$base_node->setAttribute("tata", "cinqsixsept");
$base_node->setAttribute("yoyo", 44);
}
$doc->printToFile("out.xml"); |
Mon fichier toto.xml
Code:
1 2 3 4 5 6 7 8 9 10
| <Test>
<donnees>
<toto></toto>
<titi></titi>
<autre>
<tata></tata>
<yoyo></yoyo>
</autre>
</donnees>
</Test> |
Le fichier out.xml de sortie :
Code:
1 2 3 4 5 6 7 8 9 10
| <Test toto="undeuxtrois" titi="55" tata="cinqsixsept" yoyo="44">
<donnees>
<toto/>
<titi/>
<autre>
<tata/>
<yoyo/>
</autre>
</donnees>
</Test> |
Ce que j'aimerai c'est que les données soient mises entre les balises c'est a dire comme ceci :
Code:
1 2 3 4 5 6 7 8 9 10
| <Test>
<donnees>
<toto>undeuxtrois</toto>
<titi>55</titi>
<autre>
<tata>cinqsixsept</tata>
<yoyo>44</yoyo>
</autre>
</donnees>
</Test> |
Merci