Sobald das Modul installiert ist, erstellt man die folgende XML-Datei und nennt sie „data.xml“:
Dann schreibt man das nachstehende Perl-Skript, welches diese Datei mithilfe des Moduls XML::Simple parst:
Einfacher als mit XML::Simple geht es nicht: Jedes Objekt der Klasse XML::Simple stellt zwei Methoden bereit: XMLin() und XMLout(). Die Methode XMLin() liest eine XML-Datei oder einen String ein und konvertiert die XML-Daten in eine Perl-Datenstruktur. Die Methode XMLout() macht genau das Gegenteil: Sie liest eine Perl-Struktur ein und gibt diese als Instanz eines XML-Dokuments zurück. Das Skript oben verwendet die Methode XMLin() zum Einlesen der zuvor erstellten Datei „data.xml“ und speichert das Ergebnis der Verarbeitung in der Variablen $data. Der Inhalt von $data wird dann mithilfe des Perl-Moduls Data::Dumper ausgegeben.
Dies ist das Ergebnis, wenn man das Skript ausführt:
Wie man sieht, wurde jedes Element und der zugehörige Inhalt in ein Schlüssel-Wert-Paar eines assoziativen Arrays (Hash) in Perl verwandelt. Auf die XML-Daten kann man nun mit der folgenden Variante des oben aufgeführten Skripts zugreifen:
Hier die entsprechende Ausgabe:
John Doe is 43 years old and works in the Operations section.
Nun ein Beispiel dafür, wie man mithilfe von XML::Simple auch kompliziertere XML-Dokumente verarbeiten kann.
Die einfache Verwendung von XML::Simple, um XML zu verarbeiten, trifft auch auf XML-Dokumente mit mehreren Ebenen zu. Als Beispiel dient die XML-Datei in Listing A. Wenn man diese mit XMLin() einliest, erhält man eine Struktur wie die in Listing B.
XML::Simple repräsentiert Elemente, die sich wiederholen, als Elemente eines anonymen Arrays. Daher wurden alle -Elemente aus der XML-Datei in ein Perl-Array umgewandelt, von denen jedes Element einen Mitarbeiter repräsentiert. Um auf den Wert „John Doe“ zuzugreifen, braucht man nur die folgende Syntax zu verwenden: $data->{employee}->[0]->{name}
Dies kann auch automatisch in einem Perl-Skript erledigt werden, indem man $data->{employees} dereferenziert und dann mithilfe einer foreach()-Schleife alle Elemente des Arrays verarbeitet. Ein Beispiel hierfür bietet der Code in Listing C. Und hier die Ausgabe:
iPhones und iPads belasten das Ergebnis. Außerdem schwächelt Apple im gesamten asiatischen Raum inklusive China…
Die Anzeigen richten sich an IT-Teams und Administratoren. Ziel ist der Zugriff auf IT-Systeme.
Betroffen sind Windows 10 und Windows 11. Laut Microsoft treten unter Umständen VPN-Verbindungsfehler auf. Eine…
Server-CPUs und Server-GPUs legen deutlich zu. Das Gaming-Segment schwächelt indes.
Zwei Use-after-free-Bugs stecken in Picture In Picture und der WebGPU-Implementierung Dawn. Betroffen sind Chrome für…
Die durchschnittliche Lösegeldzahlung liegt bei 2,5 Millionen Dollar. Acht Prozent der Befragten zählten 2023 mehr…