XML-Scripting mit E4X

Hier soll ein Blick auf ein paar Schnipsel von E4X-Code im Rhino Javascript-Interpreter geworfen werden. Wer die Beispiele selber ausprobieren will, muss sich Rhino sowie die XMLBeans-Bibliotheken herunterladen. Dann gibt man den folgenden Befehl auf der Kommandozeile ein:

Dabei fügt man die entsprechenden Pfade für XMLBeans und Rhino ein und startet damit den Javascript-Interpreter in einem interaktiven Modus samt E4X-Unterstützung, wie der „js>“-Prompt zeigt. Damit kann man seine ersten Gehversuche mit XML unternehmen:

Dies erzeugt eine XML-Variable „a“. Man beachte, dass man bei dieser Zuweisung direkt XML verwenden kann.

Wenn man jetzt auf ein oder mehrere bestimmte Elemente zugreifen will, kann man dies über deren Namen machen:

Wenn ein Element mehrfach vorkommt, bekommt man alle Elemente zurückgegeben:

Aber man kann auf sie immer noch mit einem Array zugreifen:

Um auf die Attribute zuzugreifen, verwendet man ein @ vor dem Attributnamen:

Man kann das XML-Dokument aber nicht nur passiv betrachten, sondern Elementen und Attributen auch Werte zuweisen.

Bei der ersten Zuweisung wird das erste firstname-Element durch ein neues Element ersetzt. Man hätte auch einfach den Wert „ECMA“ zuweisen können und dieselbe Ausgabe erhalten, aber dabei wäre die Attributinformation verloren gegangen, da der String nur in den angegebenen Elementnamen eingefügt worden wäre, mit dem String als Wert. Die nächste Zuweisung setzt einfach das id-Attribut des name-Elements. Die dritte Zuweisung ergänzt das erste firstname-Element um das Attribut „official“ und setzt dieses auf „yes“. Bei E4X wird ein noch nicht existierendes Attribut einfach neu erstellt. Dasselbe gilt für Elemente: Wenn man einem nichtexistenten Element einen Wert zuweist, wird dieses Element erzeugt. So kann man Listen auch Elemente hinzufügen:

Und natürlich kann man die Elemente auch alle in einer Schleife bearbeiten:

a..firstname wählt firstname-Elemente, wo immer sie im Dokument auftauchen, so wie der „//“-Operator in XPath.

Damit erhält man einen kleinen Vorgeschmack, was man mit E4X alles anstellen kann und es ist schon zu erkennen, welche Möglichkeiten für die XML-Verarbeitung einem damit beim Scripting offen stehen.

Page: 1 2 3 4 5

ZDNet.de Redaktion

Recent Posts

Latrodectus: Gefährlicher Nachfolger von IcedID

Latrodectus, auch bekannt als BlackWidow, ist auch unter dem Namen LUNAR SPIDER bekannt.

1 Tag ago

Apple meldet Rekordumsatz im vierten Fiskalquartal

Die Einnahmen klettern auf fast 95 Milliarden Dollar. Allerdings belastet der Steuerstreit mit der EU…

5 Tagen ago

Baseus Bowie 30 Max: Erste Bluetooth-Kopfhörer mit Head-Tracking-Spatial-Audio

Neue Over-Headset-Kopfhörer von Baseus bieten Raumklang-Audio und unterdrücken Störgeräusche um rund 96 Prozent.

5 Tagen ago

Microsoft steigert Umsatz und Gewinn im ersten Fiskalquartal

Das stärkste Wachstum verbucht die Cloud-Sparte. Microsoft verpasst bei der Umsatzprognose für das laufende Quartal…

5 Tagen ago

Bezahlkarten: Infineon verspricht weniger Plastikmüll

Ein Coil-on-Module-Package integriert Chip und Antenne, was den Kartenkörper fast vollständig recycelbar machen soll.

6 Tagen ago

Firefox 132 schließt elf Sicherheitslücken

Mindestens eine Anfälligkeit erlaubt das Einschleusen von Schadcode. Außerdem erweitern die Entwickler den Support für…

6 Tagen ago