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)
Mit dem Internet verbundene Digitale Bilderrahmen oder Mediaplayer können mit Schadsoftware infiziert werden und sind…
Schädliche Apps können unter Umständen einen Systemabsturz auslösen. Mindestens eine Anfälligkeit erlaubt eine Remotecodeausführung.
Sein Anteil an allen Infektionen steigt in Deutschland auf 18,5 Prozent. Das Botnet Androxgh0st integriert…
Betroffen sind Chrome 131 und früher für Windows, macOS und Linux. Angreifer können unter Umständen…
Marktforscher Lündendonk erwartet für das Jahr 2025 ein durchschnittliches Umsatzwachstum von 14,9 Prozent.
Alarmierender Anstieg von Open-Source-Malware / Seit 2019 haben Sonatype-Analysen mehr als 778.500 bösartige Pakete aufgedeckt