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 :
Mon fichier toto.xml
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
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");
Le fichier out.xml de sortie :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 <Test> <donnees> <toto></toto> <titi></titi> <autre> <tata></tata> <yoyo></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 : Sélectionner tout - Visualiser dans une fenêtre à part
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>
Merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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>
Partager