XML parsen
am 22.11.2006 15:02:01 von Christian Andersen
Hallo
Ich soll folgende XML-Datei parsen:
----begin artikel.xml----
Text, der analysiert werden soll
Auch dieser Text wird kodiert
----end artikel.xml---
Dazu habe ich im wesentlichen folgendes Skript geschrieben:
----begin skript.pl----
#!/usr/bin/perl
use XML::Simple;
my $data=3DXMLin($ARGV[0]);
foreach my $zeile (@{$data -> {"zeile"}}) {
print $zeile->{"text"}."\n";
foreach my $kodierung (@{$zeile -> {"kodierung"}}) {
print $kodierung->{"variable"} . "\n"
}
print "\n";
}
----end skript.pl----
Soweit so gut -- funktioniert. Nur kommen auch andere Einträge in den
Ausgangsdaten vor. Beispielsweise:
----begin artikel.xml----
Text, der analysiert werden soll
Auch dieser Text wird kodiert
----end artikel.xml---
Daraufhin bekomme ich die Fehlermeldung=20
"Not an ARRAY reference at ./skript.pl line 7".
Wie löse ich das Problem?
Danke,
Christian Andersen
Re: XML parsen (gelöst)
am 22.11.2006 15:31:37 von Christian Andersen
Hallo nochmals
Entschuldigt bitte mein voriges, etwas voreiliges Posting. Ich habe die
Lösung gefunden:
Am Mittwoch, den 22.11.2006, 15:02 +0100 schrieb Christian Andersen:
> Hallo
>=20
> Ich soll folgende XML-Datei parsen:
>=20
> ----begin artikel.xml----
>
>
>
> Text, der analysiert werden soll
>
>
>
>=20
>
> Auch dieser Text wird kodiert
>
>
>
>=20
>
> ----end artikel.xml---
>=20
>=20
> Dazu habe ich im wesentlichen folgendes Skript geschrieben:
>=20
> ----begin skript.pl----
> #!/usr/bin/perl
> use XML::Simple;
>=20
> my $data=3DXMLin($ARGV[0]);
my $data=3DXMLin($ARGV[0],ForceArray=3D>[kodierung]);
damit funktioniert das Skript für alle Daten.
> foreach my $zeile (@{$data -> {"zeile"}}) {
> print $zeile->{"text"}."\n";
> foreach my $kodierung (@{$zeile -> {"kodierung"}}) {
> print $kodierung->{"variable"} . "\n"
> }
> print "\n";
> }
> ----end skript.pl----
>=20
>=20
> Soweit so gut -- funktioniert. Nur kommen auch andere Einträge in de=
n
> Ausgangsdaten vor. Beispielsweise:
>=20
> ----begin artikel.xml----
>
>
>
> Text, der analysiert werden soll
>
>
>=20
>
> Auch dieser Text wird kodiert
>
>
>
>=20
>
> ----end artikel.xml---
>=20
> Daraufhin bekomme ich die Fehlermeldung=20
> "Not an ARRAY reference at ./skript.pl line 7".
>=20
>=20
> Wie löse ich das Problem?
>=20
>=20
> Danke,
>=20
> Christian Andersen
>=20