Re: [ssfr] [perl] Parsing xml

[ Thread Index | Date Index | More debianworld.org/shellscript-fr Archives ]


On Mon, Nov 03, 2008 at 03:08:29PM +0100, Remi Suinot wrote:
>      $page = get("$add") or die "erreur de flux";
>      my $xml = new XML::Simple;
>      my $data = $xml->XMLin($page);
[...]
> mais certain fichier de guide sont de cette forme:
> </resume>

Ce n'est pas de l'XML légal. Si ton XML n'est pas légal, tu
te prépares des nuits blanches inutiles. Je supposes que tu
voulais dire <resume/>

> pas de balise <resume> en premier, et ma variable
> $text_info_tele est de la forme 'hash(0x9dc2409)' Comment
> éviter ce genre de problème, ou peut on tester
> $data->{resume} pour être sur que c'est du texte?
> 
> Là, je sèche... (pourtant, avec ce qu'il pleut ici!)

Conseil numéro 1 pour bien travailler avec XML::Simple:

use Data::Dumper;
print Dumper $xml;

Conseil numéro 2:  
man XML::Simple
regarder l'option KeyAttr. Personellement j'utilise
KeyAttr=>'', qui a le bon goût de donner des résultats
homogènes. 

Conseil numéro 3:
Pareil, regarder l'option ForceArray. Ça a peut-être un lien
aussi (je me souviens plus de laquelle m'a sauvé dans ton
cas).

Il ne faut pas se laisser embobiner par le nom 'Simple': la
page man fait 1200 lignes, et XML n'est jamais simple :)

Bonne chance,
Y.


---


Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/