XMLout -> help !

XMLout -> help ! - Perl - Programmation

Marsh Posté le 13-12-2005 à 03:47:32    

Hello,
 
j'essai de construire un document XML a l'aide des strcutures de donnees Perl et je m'en sors pas.
ce que j'obtiens c'est ca  
<data>
  <anon>
    <anon>
      <ang capital="Londres" country="Angleterre" />
    </anon>
    <anon>
      <ang2 country="Angleterre" />
      <ang2>blabla</ang2>
    </anon>
  </anon>
</data>
 
ce que je cherche desesperement a obtenir c'est ca  
 
<data>
      <ang capital="Londres" country="Angleterre" />
      <ang2 country="Angleterre">blabla </ang2>
</data>
(surtout la ligne en rouge)
et je comprends pas pourquoi ces balises </anon>
 
merci de votre aide
 
voici mon code
 

Code :
  1. #!/usr/bin/perl
  2. # utiliser le module
  3. use XML::Simple;
  4. use Data::Dumper;
  5. # créer le tableau array
  6. @arr1 = [
  7.      {'country'=>'Angleterre', 'capital'=>'Londres'}
  8.         ];
  9.        
  10. @arr2 = [
  11.      {'country'=>'Angleterre'},'blabla'
  12.         ];
  13.        
  14. @arr = [{'ang' => @arr1},{'ang2' => @arr2}];
  15. # créer un objet
  16. $xml = new XML::Simple (NoAttr=>0, RootName=>'data');
  17. # convertir la référence de tableau Perl en document XML
  18. $data = $xml->XMLout(\@arr);
  19. # accéder aux données XML
  20. print $data;


 

Reply

Marsh Posté le 13-12-2005 à 03:47:32   

Reply

Marsh Posté le 13-12-2005 à 09:22:04    

Elle est pas super simple ta structure!!!!
 
En fait @arr est un tableau contenant deux hash anonymes:
- la premiere a pour valeur un tableau contenant:
  + une hash anonyme contenant 2 valeurs
- la deuxième a pour valeur un tableau contenant:
  + un hash anonyme
  + une valeur
 
Donc ça m'étonne pas trop tout ces anon !!!
Et de mémoire XMLout prend plutot une hashref en paramètre ...

Reply

Marsh Posté le 14-12-2005 à 14:34:58    

utilise le module XML::Writer, y a pas plus simple.

Reply

Marsh Posté le 14-12-2005 à 18:32:29    

Je vais essayer
ou es ce que je peux trouver des exemples bien faits de l'utilisation de cette librairie
Merci

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed