JAXP erleichtert die DOM-Entwicklung mit Java

Arbeiten mit Knoten und Elementen

Entwickler bringen häufig XML-Knoten und XML-Elemente durcheinander. Innerhalb eines XML-Dokuments sind „Knoten“ und „Element“ oft austauschbar. Wenn man mit dem DOM programmiert, unterscheiden sie sich jedoch erheblich voneinander. Vor allem sollte man daran denken, dass im DOM alle Komponenten Knoten sind. Elemente erweitern das Knoten-Objekt um Text und Attribute.

So ist z. B. das Tag <this/> ein Knoten. Erst wenn ein Attribut oder Text hinzugefügt wird (<this id=““>text</this>), entsteht ein Element. Dieses Beispiel mit Attribut und Text wird auch komplexer Knoten genannt und sollte vermieden werden. In Java (noch genauer in Xalan) werden Elemente vor allem für die Arbeit mit Attributen verwendet. Den Text-Wert eines Knotens auszulesen ist ganz einfach:


Node productNode = XPathAPI.selectSingleNode(doc,xPath);

Dies liefert den ersten Knoten, auf den die XPath Query zutrifft. Falls der Knoten einen Text-Wert besitzt (<node>my value</node), kann auf diesen zugegriffen werden, indem man wie folgt den Wert des ersten Kinderknotens ausliest:


Node x=productNode.getFirstChildNode().getNodeValue;

Denken Sie daran: Alle Komponenten in einem XML-Dokument werden als Knoten behandelt. Listing D zeigt, wie man einen „Text“-Knoten erstellt.

Die XPathAPI-Klasse wird verwendet, um Informationen aus dem XML-Dokument zu gewinnen oder neue Knoten anzulegen. XPath ist eine separate W3C-Spezifikation für die Adressierung von Elementen eines XML-Dokuments. Xalan enthält ein Package dafür (siehe Listing A).

Attribute

Um den Wert eines Attributs zu lesen, muss zunächst aus dem Knoten ein Element gemacht werden. Dies geschieht mit einer expliziten Konvertierung:


Element el = (Element) productNode;

Ich empfehle, bei der Verarbeitung von Elementen immer einen Knoten und ein Element mit denselben Daten zu benutzen. Wenn man ein Dokument aktualisiert, muss ein Knoten an- oder eingefügt werden, und kein Element. Elemente liefern Programmierern mehr Methoden für die Arbeit mit Attributen. Die beiden gebräuchlichsten sind:


String sValue = el.getAttribute("id")
el.setAttribute("id",sValue)

Page: 1 2 3

ZDNet.de Redaktion

Recent Posts

Apple meldet Umsatz- und Gewinnrückgang im zweiten Fiskalquartal

iPhones und iPads belasten das Ergebnis. Außerdem schwächelt Apple im gesamten asiatischen Raum inklusive China…

3 Tagen ago

MadMxShell: Hacker verbreiten neue Backdoor per Malvertising

Die Anzeigen richten sich an IT-Teams und Administratoren. Ziel ist der Zugriff auf IT-Systeme.

3 Tagen ago

April-Patches für Windows legen VPN-Verbindungen lahm

Betroffen sind Windows 10 und Windows 11. Laut Microsoft treten unter Umständen VPN-Verbindungsfehler auf. Eine…

3 Tagen ago

AMD steigert Umsatz und Gewinn im ersten Quartal

Server-CPUs und Server-GPUs legen deutlich zu. Das Gaming-Segment schwächelt indes.

4 Tagen ago

Google stopft schwerwiegende Sicherheitslöcher in Chrome 124

Zwei Use-after-free-Bugs stecken in Picture In Picture und der WebGPU-Implementierung Dawn. Betroffen sind Chrome für…

5 Tagen ago

Studie: 91 Prozent der Ransomware-Opfer zahlen Lösegeld

Die durchschnittliche Lösegeldzahlung liegt bei 2,5 Millionen Dollar. Acht Prozent der Befragten zählten 2023 mehr…

5 Tagen ago