Java DOM API для синтаксического анализа XML предназначен для работы с XML как графом объектов в памяти — «объектной моделью документа (DOM)». Парсер просматривает XML-файл и создает соответствующие объекты DOM, которые связаны друг с другом в древовидной структуре. Как только парсер завершит работу, вы получите структуру объекта. Затем можете перемещаться по ней взад и вперед по своему усмотрению.
Вот пример, который иллюстрирует принцип превращения XML в DOM:
Jakob Jenkov
0123456789
И соответствующая структура DOM:
Эта структура теперь может быть пройдена так же, как и любой другой граф объектов дерева.
Создание синтаксического анализатора
Выполняется с использованием класса javax.xml.parsers.DocumentBuilderFactory:
DocumentBuilderFactory builderFactory =
DocumentBuilderFactory.newInstance();
DocumentBuilder builder = null;
try {
builder = builderFactory.newDocumentBuilder();
} catch(ParserConfigurationException e) {
e.printStackTrace();
}
Это экземпляр DocumentBuilder, который является анализатором DOM. Используя его, вы можете превращать XML-файлы в DOM-объекты, как мы увидим в следующем разделе.
Синтаксический анализ XML с помощью Parser
Разбор XML-файла в DOM-дерево с использованием DocumentBuilder выполняется следующим образом:
try {
Document document = builder.parse(
new FileInputStream("data\\text.xml"));
} catch(SAXException e) {
e.printStackTrace();
} catch(IOException e) {
e.printStackTrace();
}
Теперь вы готовы перейти к экземпляру Document, который вы получили от DocumentBuilder.
