Java DOM Parser - przegląd

Document Object Model (DOM) to oficjalna rekomendacja World Wide Web Consortium (W3C). Definiuje interfejs, który umożliwia programom dostęp i aktualizację stylu, struktury i zawartości dokumentów XML. Parsery XML obsługujące DOM implementują ten interfejs.

Kiedy użyć?

Powinieneś używać parsera DOM, gdy -

  • Musisz dużo wiedzieć o strukturze dokumentu.

  • Musisz przenosić części dokumentu XML (możesz na przykład posortować pewne elementy).

  • Musisz użyć informacji zawartych w dokumencie XML więcej niż raz.

Co dostałeś?

Kiedy parsujesz dokument XML za pomocą parsera DOM, otrzymujesz strukturę drzewa, która zawiera wszystkie elementy twojego dokumentu. DOM zapewnia różnorodne funkcje, których możesz użyć do zbadania zawartości i struktury dokumentu.

Zalety

DOM jest wspólnym interfejsem do manipulowania strukturami dokumentów. Jednym z jego celów projektowych jest to, że kod Java napisany dla jednego parsera zgodnego z DOM powinien działać na każdym innym parserze zgodnym z DOM bez konieczności dokonywania jakichkolwiek modyfikacji.

Interfejsy DOM

DOM definiuje kilka interfejsów Java. Oto najpopularniejsze interfejsy -

  • Node - Podstawowy typ danych DOM.

  • Element - Zdecydowana większość obiektów, z którymi będziesz mieć do czynienia, to elementy.

  • Attr - Reprezentuje atrybut elementu.

  • Text - rzeczywista zawartość elementu lub atrybutu.

  • Document- Reprezentuje cały dokument XML. Obiekt Document jest często nazywany drzewem DOM.

Popularne metody DOM

Podczas pracy z DOM jest kilka metod, których będziesz często używać -

  • Document.getDocumentElement() - Zwraca element główny dokumentu.

  • Node.getFirstChild() - zwraca pierwsze dziecko danego węzła.

  • Node.getLastChild() - zwraca ostatnie dziecko danego węzła.

  • Node.getNextSibling() - Te metody zwracają następny element równorzędny danego węzła.

  • Node.getPreviousSibling() - Te metody zwracają poprzedni element równorzędny danego węzła.

  • Node.getAttribute(attrName) - Dla danego węzła zwraca atrybut o żądanej nazwie.