Bonjour a tous,
j'ai beau chercher une solution pou r mon problème mais sans sucée.
je vous explique mon problème:
j'ai un fichier XML que je doit parser avec perl et j’utilise XML:arser pour cela,dans mon fichier j'ai l'exemple suivant
Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 <LieuNaissance> <div style="margin-left:40px"><Pays code="79000">FRANCE</Pays></div></LieuNaissance> <LieuNaissance> <div style="margin-left:40px"><Localite code="75000">Paris</Localite></div></LieuNaissance> <LieuNaissance> <div style="margin-left:40px"><Localite code="94300">Vincennes</Localite> <Pays>FRANCE</Pays></div></LieuNaissance> <LieuNaissance> <div style="margin-left:40px"><Pays code="94300">France</Pays> <Localite>Vincennes</Localite></div></LieuNaissance>
dans l'exemple précédent c'est les quatre 4 de figure que je peut rencontré dans mon fichier XML et que je dois traité, et j'ai conçu le code suivant pour traité tout les cas de figure
mai c'est pas bon parce pour le 1er exemple il teste la balise localite dans elsif et comme elle n'existe pas il affect à $vil_nai la valeur HASH(0x1fdcc14)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 if ({LieuNaissance}->{Localite}->{'code'}){ $Cod_Nai = {LieuNaissance}->{Localite}->{'code'}; if ({LieuNaissance}->{Localite}->{'content'}){$Vil_Nai = {LieuNaissance}->{Localite}->{'content'};} if ({LieuNaissance}->{Pays}){$Pays_Nai= {LieuNaissance}->{Pays};} } elsif ({LieuNaissance}->{Pays}->{'code'}){ $Cod_Nai = {LieuNaissance}->{Pays}->{'code'}; if ({LieuNaissance}->{Pays}->{'content'}){$Pays_Nai= {LieuNaissance}->{Pays}->{'content'};} if ({LieuNaissance}->{Localite}){ $Vil_Nai = {LieuNaissance}->{Localite};} }
comment testé l'existance de balise et si elle n'existe pas alors il change pas de valeur a la variable, puisqu'elle est deja initialisé au début
pourriez vous m'aidé svp, et merci d'avance
Partager