Apache Xerces - Обзор парсера DOM
Объектная модель документа является официальной рекомендацией Консорциума World Wide Web (W3C). Он определяет интерфейс, который позволяет программам получать доступ и обновлять стиль, структуру и содержимое XML-документов. Парсеры XML, поддерживающие DOM, реализуют этот интерфейс.
Когда использовать?
Вам следует использовать парсер DOM, когда -
Вам нужно много знать о структуре документа.
Вам нужно перемещать части документа (например, вы можете захотеть отсортировать определенные элементы).
Вам необходимо использовать информацию в документе более одного раза.
Что вы получаете?
Когда вы анализируете XML-документ с помощью парсера DOM, вы получаете древовидную структуру, содержащую все элементы вашего документа. DOM предоставляет множество функций, которые вы можете использовать для изучения содержимого и структуры документа.
Преимущества
DOM - это общий интерфейс для управления структурами документов. Одна из целей его разработки заключается в том, что код Java, написанный для одного DOM-совместимого парсера, должен работать на любом другом DOM-совместимом парсере без изменений.
DOM-интерфейсы
DOM определяет несколько интерфейсов Java. Вот наиболее распространенные интерфейсы -
Node - Базовый тип данных DOM.
Element - Подавляющее большинство объектов, с которыми вы будете иметь дело, являются Элементами.
Attr - представляет атрибут элемента.
Text - Фактическое содержание элемента или атрибута.
Document- Представляет весь XML-документ. Объект Document часто называют деревом DOM.
Общие методы DOM
Когда вы работаете с DOM, есть несколько часто используемых методов:
Document.getDocumentElement() - Возвращает корневой элемент документа.
Node.getFirstChild() - Возвращает первого дочернего элемента данного узла.
Node.getLastChild() - Возвращает последнего дочернего элемента данного узла.
Node.getNextSibling() - Эти методы возвращают следующего брата данного узла.
Node.getPreviousSibling() - Эти методы возвращают предыдущего брата данного узла.
Node.getAttribute(attrName) - Для данного узла возвращает атрибут с запрошенным именем.