[Dresden-pm] Regex-Frage

Uwe Voelker uwe.voelker at gmx.de
Don Jan 8 07:09:35 CST 2004


Hallo Jens,

> <Zubehoer>
>                 <Item>
>                         <Artikelnummer>1234-567</Artikelnummer>
>                         <Gruppe>Ram</Gruppe>
>                         <Position>1</Position>
>                         <Flag>ist</Flag>
>                 </Item>
>         </Zubehoer>
> 
> und will mittels Regex alle Items in ein Array lesen.

Nee!

use Data::Dumper;
use XML::Simple;

my $xml = XML::Simple->new(ForceArray => [qw(Item)]);
my $ref = $xml->XMLin($filename);

print Dumper($ref);


Geht viel besser als irgendwelche RegExe, außerdem werden
PCDATA-Sektionen aufgelöst usw.


Tschüs, Uwe








> Mein Ansatz:
> @item = ($xsell =~  /(<Item>.*<\/Item>)/s);

> 
> matcht mir alles zwischen dem ersten und dem letzten Item auf
> einmal.
> Wie kann ich das ändern?
> 
> PS. Es macht mittlerweile deutlich mehr Spass die XMLs per Hand zu
> zerlegen als son dickes DOM-Monster anzuwerfen.
> Und schneller und sparsamer ists obendrein :-)
> 
>    Mit freundlichen Grüßen
> 
> Jens Puruckherr
> 
> _______________________________________________
> Dresden-pm mailing list
> Dresden-pm at mail.pm.org
> http://mail.pm.org/mailman/listinfo/dresden-pm
> 
>