OVH Cloud OVH Cloud

lire + écrire xml

1 réponse
Avatar
Paul
Bonjour,

Je souhaiterai effectuer les op=E9rations suivantes :
1. lire mon .xml =E0 partir d'un certain noeud (ex:
<groupId>20</groupId>) 2. r=E9cup=E9rer les donn=E9es (tag "record")
3. faire un traitement (ex: envoyer un mail)
4. r=E9=E9crire le fichier .xml (ou un autre qui le substituera) afin d'en
changer certaines valeurs, le timestamp du tag "lastEmail"

je souhaite =E9crire mon script en Perl, et j'ai essay=E9 les modules
XML::Writer et XML::Parser, ils fonctionnent tous les deux s=E9par=E9ment,
mais je n'arrive pas =E0 les utiliser simultan=E9ment : donc je n'arrive pas
=E0 =E9crire mon fichier de sortie en m=EAme temps que je fais le traitemen=
t.

Merci de votre aide g=E9n=E9reuse.

Voici le contenu de mon fichier .xml :

<list>
<group>
<groupId>10</groupId>
<groupName>Mon premier groupe</groupName>

<record>
<recordId>1</recordId>
<actif>true</actif>
<infosPersos>
<name>nom, pr=E9nom</name>
<email>popo@popo.com</email>
</infosPersos>
<lastEmail>1000123456</lastEmail>
</record>
<record>
<recordId>2</recordId>
<actif>true</actif>
<infosPersos>
<name>nom2, pr=E9nom2</name>
<email>popo2@popo2.com</email>
</infosPersos>
<lastEmail>1000123456</lastEmail>
</record>
</group>

<group>
<groupId>20</groupId>
<groupName>Mon deuxieme groupe</groupName>

<record>
<recordId>3</recordId>
<actif>true</actif>
<infosPersos>
<name>nom3, pr=E9nom3</name>
<email>popo3@popo3.com</email>
</infosPersos>
<lastEmail>1000123456</lastEmail>
</record>
<record>
<recordId>4</recordId>
<actif>true</actif>
<infosPersos>
<name>nom4, pr=E9nom4</name>
<email>popo4@popo4.com</email>
</infosPersos>
<lastEmail>1000123456</lastEmail>
</record>
</group>
</list>

1 réponse

Avatar
Patrick Mevzek

Je souhaiterai effectuer les opérations suivantes :
1. lire mon .xml à partir d'un certain noeud (ex:
<groupId>20</groupId>) 2. récupérer les données (tag "record")
3. faire un traitement (ex: envoyer un mail) 4. réécrire le fichier
.xml (ou un autre qui le substituera) afin d'en
changer certaines valeurs, le timestamp du tag "lastEmail"


Regardez du coté de XML::Simple
Pour des traitements simples, lecture ou écriture, cela suffit.

--
Patrick Mevzek . . . . . . Dot and Co (Paris, France)
<http://www.dotandco.net/> <http://www.dotandco.com/>