Bonjour,
je souhaiterai parser un fichier xml de ce type :
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
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>
ou
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>
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 balisesorder_nr <=> NumeroExpediteur
customer_firstname <=> PrenomExpediteur
customer_lastname <=> NomExpediteur
customer_email <=> EmailExpediteur
etc
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
par
Code : Sélectionner tout - Visualiser dans une fenêtre à part <AdresseExpediteur1></AdresseExpediteur1>
Auriez-vous des exemples ou des idées pour que je puisse coder cela?
Code : Sélectionner tout - Visualiser dans une fenêtre à part <AdresseExpediteur1 />
Merci
Partager