[Dresden-pm] Regex-Frage

Jens Puruckherr jpuruckherr at cyberport.de
Don Jan 8 06:31:35 CST 2004


Hallo,

ich habe ein XML-Fragment:
<Zubehoer>
                <Item>
                        <Artikelnummer>1234-567</Artikelnummer>
                        <Gruppe>Ram</Gruppe>
                        <Position>1</Position>
                        <Flag>ist</Flag>
                </Item>
                <Item>
                        <Artikelnummer>1234-567</Artikelnummer>
                        <Gruppe>Ram</Gruppe>
                        <Position>1</Position>
                        <Flag>ist</Flag>
                </Item>
                <Item>
                        <Artikelnummer>1234-567</Artikelnummer>
                        <Gruppe>Ram</Gruppe>
                        <Position>1</Position>
                        <Flag>ist</Flag>
                </Item>
                <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.
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