IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Modules Perl Discussion :

Ajouter du xml (balises supplémentaires) dans du xml


Sujet :

Modules Perl

  1. #1
    Membre régulier
    Inscrit en
    Avril 2007
    Messages
    161
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 161
    Points : 101
    Points
    101
    Par défaut Ajouter du xml (balises supplémentaires) dans du xml
    Bonjour,

    J'ai un souci dans mon code, je n'arrive pas à intégrer de nouvelles balises, incluant de nouvelles informations, dans un code XML déjà généré.


    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
    my $xml3 = new XML::Simple (NoAttr=>1, RootName=>'CLIENT');
    my $xml4 = new XML::Simple (NoAttr=>1, RootName=>'PRODUIT');
     
     
    my %cli = ('Numero'=>'1', 'Nom client'=>'Toto', 'Livraison'=>'rapide');
            $data = $xml3->XMLout(\%cli);
            print Dumper($data);
     
    my %pro = ('Nom produit'=>'viande', 'Origine'=>'France');
            $data = $xml4->XMLout(\%pro);
            print Dumper($data);
     
     
     
    Résultat :
    $VAR1 = '<CLIENT>
      <Numero>1</Numero>
      <Livraison>rapide</Livraison>
      <Nom client>Toto</Nom client>
    </CLIENT>
    ';
    $VAR1 = '<PRODUIT>
      <Origine>France</Origine>
      <Nom produit>viande</Nom produit>
    </PRODUIT>

    J'aimerais obtenir un résultat de ce type :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $VAR1 = '<CLIENT>
      <Numero>1</Numero>
      <Livraison>rapide</Livraison>
      <Nom client>Toto</Nom client>
      <PRODUIT>
        <Origine>France</Origine>
        <Nom produit>viande</Nom produit>
      </PRODUIT>
    </CLIENT>

    J'ai essayé ça, mais ça ne marche pas des masses :

    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
    %cli = ('Numero'=>'1', 'Nom client'=>'Toto', 'Livraison'=>'rapide', 'Produit'=>$data2);
            $data = $xml3->XMLout(\%cli);
            print Dumper($data);
     
    Résultat : 
    $VAR1 = '<CLIENT>
      <Numero>1</Numero>
      <Livraison>rapide</Livraison>
      <Nom client>Toto</Nom client>
      <Produit>&lt;CLIENT&gt;
      &lt;Numero&gt;1&lt;/Numero&gt;
      &lt;Livraison&gt;rapide&lt;/Livraison&gt;
      &lt;Nom client&gt;Toto&lt;/Nom client&gt;
      &lt;produit&gt;1/8&lt;/produit&gt;
    &lt;/CLIENT&gt;
    </Produit>
    </CLIENT>
    ';

    Comment puis-je procéder ?
    J'aimerais également pouvoir insérer plusieurs produits pour un même client, tout en gardant un code cohérent au niveau des balises.

    Merci beaucoup pour votre aide.

  2. #2
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2007
    Messages
    241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2007
    Messages : 241
    Points : 272
    Points
    272
    Par défaut
    Salut,

    Je n'ai jamais utiliser XML::Simple, mais au vue de l'api sur le cpan, je n'ai pas l'impression que tu es choisis la bonne pour ce genre de manipulation. Elle a l'air très bien pour ce qui est de l'interrogation de fichier XML de configuration mais pas pour la manipulation de DOM.

    Je te conseillerai de te tourner soit vers:
    XML::LibXML
    ou
    XML:OM

    Personnellement je préfère la LibXML qui est un binding perl de la libxml2 en C et est donc plus rapide.
    Linux because rebooting is just for adding medias

  3. #3
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 820
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 820
    Points : 499 184
    Points
    499 184

Discussions similaires

  1. [PHP5] Ajout d'une balise Doctype au fichier XML
    Par phy4me dans le forum XML/XSL et SOAP
    Réponses: 4
    Dernier message: 23/11/2008, 17h21
  2. Balise HTML dans fichier XML
    Par gluc86 dans le forum ASP.NET
    Réponses: 3
    Dernier message: 17/12/2007, 14h22
  3. Balise html dans fichier XML
    Par pierrox dans le forum XML/XSL et SOAP
    Réponses: 3
    Dernier message: 19/09/2005, 09h20
  4. [XML] Incorporation de balises HTML dans fichier XML
    Par wazzzzza dans le forum XML/XSL et SOAP
    Réponses: 3
    Dernier message: 26/07/2005, 14h17
  5. [XSL] Balise html dans un XML
    Par Ludo_xml dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 13/06/2005, 13h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo