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

Langage Perl Discussion :

Parser un fichier xml et remplir un autre avec les infos récupérées


Sujet :

Langage Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Novembre 2008
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 36
    Par défaut Parser un fichier xml et remplir un autre avec les infos récupérées
    Bonjour,

    je souhaiterai parser un fichier xml de ce type :

    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    <xml xmlns:s='uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882'
    	xmlns:dt='uuid:C2F41010-65B3-11d1-A29F-00AA00C14882'
    	xmlns:rs='urn:schemas-microsoft-com:rowset'
    	xmlns:z='#RowsetSchema'>
    <s:Schema id='RowsetSchema'>
    	<s:ElementType name='row' content='eltOnly' rs:updatable='true'>
    		<s:AttributeType name='order_nr' rs:number='1' rs:nullable='true' rs:write='true'>
    			<s:datatype dt:type='int' dt:maxLength='4' rs:precision='0' rs:fixedlength='true'/>
    		</s:AttributeType>
    		<s:AttributeType name='customer_firstname' rs:number='18' rs:nullable='true' rs:write='true'>
    			<s:datatype dt:type='string' rs:dbtype='str' dt:maxLength='50' rs:precision='0'/>
    		</s:AttributeType>
    		<s:AttributeType name='customer_lastname' rs:number='19' rs:nullable='true' rs:write='true'>
    			<s:datatype dt:type='string' rs:dbtype='str' dt:maxLength='50' rs:precision='0'/>
    		</s:AttributeType>
    		<s:AttributeType name='customer_email' rs:number='20' rs:nullable='true' rs:write='true'>
    			<s:datatype dt:type='string' rs:dbtype='str' dt:maxLength='50' rs:precision='0'/>
    		</s:AttributeType>
    		<s:AttributeType name='customer_address1' rs:number='21' rs:nullable='true' rs:write='true'>
    			<s:datatype dt:type='string' rs:dbtype='str' dt:maxLength='50' rs:precision='0'/>
    		</s:AttributeType>
    		<s:AttributeType name='customer_address2' rs:number='22' rs:nullable='true' rs:write='true'>
    			<s:datatype dt:type='string' rs:dbtype='str' dt:maxLength='50' rs:precision='0'/>
    		</s:AttributeType>
    		<s:AttributeType name='customer_zip' rs:number='25' rs:nullable='true' rs:write='true'>
    			<s:datatype dt:type='string' rs:dbtype='str' dt:maxLength='50' rs:precision='0'/>
    		</s:AttributeType>
    		<s:AttributeType name='customer_city' rs:number='26' rs:nullable='true' rs:write='true'>
    			<s:datatype dt:type='string' rs:dbtype='str' dt:maxLength='50' rs:precision='0'/>
    		</s:AttributeType>
    		<s:AttributeType name='customer_country' rs:number='27' rs:nullable='true' rs:write='true'>
    			<s:datatype dt:type='string' rs:dbtype='str' dt:maxLength='2' rs:precision='0'/>
    		</s:AttributeType>
    		<s:AttributeType name='customer_phone' rs:number='28' rs:nullable='true' rs:write='true'>
    			<s:datatype dt:type='string' rs:dbtype='str' dt:maxLength='50' rs:precision='0'/>
    		</s:AttributeType>
    		<s:extends type='rs:rowbase'/>
    	</s:ElementType>
    </s:Schema>
    <rs:data>
    	<z:row order_nr='625323' customer_firstname='Toto' customer_lastname='Titi' customer_email='tata@gmail.com' customer_address1='' customer_address2='' customer_zip='' customer_city='' customer_phone=''/>
    </rs:data>
    </xml>
    et remplir le template suivant :
    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
    <Commande>
    	<NumeroExpediteur></NumeroExpediteur>
    	<Identite>
    		<PrenomExpediteur></PrenomExpediteur>
    		<NomExpediteur></NomExpediteur>
    	</Identite>
    	<Coordonnee>
    		<AdresseExpediteur1></AdresseExpediteur1>
    		<AdresseExpediteur2></AdresseExpediteur2>
    		<CodePostalExpediteur></CodePostalExpediteur>
    		<VilleExpediteur></VilleExpediteur>
    	</Coordonnee>
    	<TelephoneExpediteur></TelephoneExpediteur>
    	<EmailExpediteur></EmailExpediteur>
    </Commande>
    ou
    order_nr <=> NumeroExpediteur
    customer_firstname <=> PrenomExpediteur
    customer_lastname <=> NomExpediteur
    customer_email <=> EmailExpediteur
    etc
    Les couples sont dans l'ordre dans les deux fichiers mais ce sera pas forcément le cas, il faut pouvoir associer order_nr <=> NumeroExpediteur et de même pour les autres balises


    et dans le cas ou dans le parsing on n'a une chaine vide en valeur comme dans customer_address1=''
    On remplacera dans le template
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <AdresseExpediteur1></AdresseExpediteur1>
    par
    Auriez-vous des exemples ou des idées pour que je puisse coder cela?

    Merci

  2. #2
    Membre éprouvé
    Avatar de Jasmine80
    Femme Profil pro
    Bioinformaticienne
    Inscrit en
    Octobre 2006
    Messages
    3 157
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 45
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Bioinformaticienne
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2006
    Messages : 3 157
    Par défaut
    As-tu regardé après des modules sur le CPAN?

    XML-Parser ne pourrait-il pas convenir?
    http://search.cpan.org/~msergeant/XM...2.36/Parser.pm

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 23/03/2009, 16h36
  2. Réponses: 4
    Dernier message: 27/01/2009, 18h14
  3. Parser un fichier xml et creer un autre
    Par aymenroma dans le forum Format d'échange (XML, JSON...)
    Réponses: 1
    Dernier message: 28/06/2007, 17h25
  4. [SAX] parser un fichier xml en Java
    Par royou dans le forum Format d'échange (XML, JSON...)
    Réponses: 1
    Dernier message: 10/02/2005, 17h12
  5. parser des fichier .xml en perl
    Par djibril dans le forum Modules
    Réponses: 13
    Dernier message: 18/05/2004, 17h08

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