Apache Xerces - Übersicht über DOM-Parser

Das Document Object Model ist eine offizielle Empfehlung des World Wide Web Consortium (W3C). Es definiert eine Schnittstelle, über die Programme auf Stil, Struktur und Inhalt der XML-Dokumente zugreifen und diese aktualisieren können. XML-Parser, die das DOM unterstützen, implementieren diese Schnittstelle.

Wann verwenden?

Sie sollten einen DOM-Parser verwenden, wenn -

  • Sie müssen viel über die Struktur eines Dokuments wissen.

  • Sie müssen Teile des Dokuments verschieben (möglicherweise möchten Sie beispielsweise bestimmte Elemente sortieren).

  • Sie müssen die Informationen im Dokument mehrmals verwenden.

Was du bekommst?

Wenn Sie ein XML-Dokument mit einem DOM-Parser analysieren, erhalten Sie eine Baumstruktur zurück, die alle Elemente Ihres Dokuments enthält. Das DOM bietet eine Vielzahl von Funktionen, mit denen Sie den Inhalt und die Struktur des Dokuments untersuchen können.

Vorteile

Das DOM ist eine gemeinsame Schnittstelle zum Bearbeiten von Dokumentstrukturen. Eines der Entwurfsziele besteht darin, dass der für einen DOM-kompatiblen Parser geschriebene Java-Code ohne Änderungen auf jedem anderen DOM-kompatiblen Parser ausgeführt werden kann.

DOM-Schnittstellen

Das DOM definiert mehrere Java-Schnittstellen. Hier sind die häufigsten Schnittstellen -

  • Node - Der Basisdatentyp des DOM.

  • Element - Die überwiegende Mehrheit der Objekte, mit denen Sie sich befassen, sind Elemente.

  • Attr - Repräsentiert ein Attribut eines Elements.

  • Text - Der tatsächliche Inhalt eines Elements oder Attr.

  • Document- Repräsentiert das gesamte XML-Dokument. Ein Dokumentobjekt wird häufig als DOM-Baum bezeichnet.

Gängige DOM-Methoden

Wenn Sie mit dem DOM arbeiten, werden häufig verschiedene Methoden verwendet:

  • Document.getDocumentElement() - Gibt das Stammelement des Dokuments zurück.

  • Node.getFirstChild() - Gibt das erste Kind eines bestimmten Knotens zurück.

  • Node.getLastChild() - Gibt das letzte Kind eines bestimmten Knotens zurück.

  • Node.getNextSibling() - Diese Methoden geben das nächste Geschwister eines bestimmten Knotens zurück.

  • Node.getPreviousSibling() - Diese Methoden geben das vorherige Geschwister eines bestimmten Knotens zurück.

  • Node.getAttribute(attrName) - Gibt für einen bestimmten Knoten das Attribut mit dem angeforderten Namen zurück.