В этой серии руководств по Java XML мы покажем, как использовать синтаксический анализатор XML, такой как DOM, SAX, STAX и JDOM, для чтения и записи XML-документа; Также JAXB для преобразования XML в/из объектов.
В целом, существует две модели программирования для работы с XML-документами: DOM и SAX (потоковая передача).
Содержание
- 1. Объектная модель документа (DOM)
- 2. Простой API для XML (SAX)
- 3. Потоковый API для XML (STAX)
- 4. Сторонний анализатор XML (JDOM)
- 5. Архитектура Java для привязки XML (JAXB)
- 6. Часто задаваемые вопросы по Java XML
- 7. Скачать Исходный Код
- 8. Рекомендации
P.S DOM, SAX и StAX являются частью API-интерфейсов Java.
1. Объектная модель документа (DOM)
Объектная модель документа (DOM) использует узлы для представления всех XML-документов в виде древовидной структуры и хранения их в памяти.
DOM хорош для работы с небольшим XML-файлом, например, для чтения, записи и изменения структуры XML; DOM НЕ предназначен для анализа или управления большим XML-файлом, потому что построение всей структуры XML в памяти потребует много памяти.
Примеры синтаксического анализатора DOM
- DOM – Чтение XML
- DOM – Запись XML
- DOM – Изменение XML
- DOM – Красивая печать XML
- DOM – XML и XSLT
2. Простой API для XML (SAX)
Простой API для XML (SAX) – это потоковая модель, управляемая событиями, API для принудительного анализа для чтения XML-документов (требуется другой API для записи). SAX считывает XML-файл от начала до конца, вызывает один метод при обнаружении одного элемента или вызывает другой метод при обнаружении определенного текста или атрибута.
SAX быстр и эффективен, требует гораздо меньше памяти, чем DOM, потому что SAX не создает внутреннее представление (древовидную структуру) XML-данных, как это делает DOM.
Примеры синтаксического анализатора SAX
- SAX – Чтение XML
- SAX – Чтение XML UTF-8
3. Потоковый API для XML (STAX)
Потоковый API для XML (STAX) – это потоковая модель, управляемая событиями, API для анализа по запросу для чтения и записи XML-документов. StAX предлагает более простую модель программирования, чем SAX, и более эффективное управление памятью, чем DOM.
Примеры синтаксического анализатора StAX
- StAX – Чтение XML
- StAX – Запись XML
4. Сторонний анализатор XML (JDOM)
DOM, SAX и StAX являются частью API-интерфейсов Java. Однако API-интерфейсы могут не всем подходить по вкусу. В качестве альтернативы мы можем использовать JDOM 2 сторонние анализаторы XML:
Примеры синтаксического анализатора JDOM
- ДЖДОМ – Чтение XML
- ДЖДОМ – Запись XML
- ДЖДОМ – Изменить XML
5. Архитектура Java для привязки XML (JAXB)
Jakarta XML Binding (JAXB; ранее Java-архитектура для привязки XML) – это платформа привязки XML для преобразования классов Java в XML и из XML.
Примеры JAXB
- История JAXB и пример hello world
6. Часто задаваемые вопросы по Java XML
Некоторые часто задаваемые вопросы.
- Преобразование XML в свойства
- Преобразование Свойств в XML
- Подсчет XML-элементов
- Глубина подсчета XML
7. Скачать Исходный Код
$клон git $клон git
$компакт-диск java-xml
$cd src/основной/java/com/mkyong/xml-файл/
8. Рекомендации
- Википедия – XML
- Википедия – Java API для обработки XML
- Википедия – Объектная модель документа
- Википедия – Простой API для XML
- Oracle – Java API для обработки XML (JAXP)
- Объектная модель Oracle – Документа
- Oracle – Простой API для XML (SAX)
- API потоковой передачи Oracle для XML (STAX)
- Введение в StAX
Оригинал: “https://mkyong.com/tutorials/java-xml-tutorials/”