В чем разница между JAXP и JAXB?
В чем разница между JAXP и JAXB?
Ответ 1
JAXP (Java API для обработки XML) является довольно устаревшим зонтичным термином, охватывающим различные низкоуровневые XML-API в JavaSE, такие как DOM, SAX и StAX.
JAXB (Java Architecture for XML Binding) - это специфический API (материал под javax.xml.bind
), который использует аннотации для привязки XML-документов к объектной модели Java.
Ответ 2
JAXP - это Java API для обработки XML, который предоставляет нам платформу для анализа XML файлов с помощью DOM или SAX Parsers.
Где JAXB - это Java-архитектура для привязки XML, это упростит доступ к документам XML из приложений, написанных на языке программирования Java.
Например: Computer.xml File, если мы хотим получить доступ к данным с помощью JAXP, мы выполним следующие шаги
- Создайте парсер SAX или DOM Parser, а затем PArse данные, если мы используем DOM, это может быть интенсивным в памяти, если документ слишком большой. предполагать если мы используем SAX-парсер, нам нужно определить начало документ. Когда он сталкивается с чем-то значительным (в условиях SAX, "событие" ), например начало тега XML, или текст внутри , он делает эти данные доступными для вызывающего приложения.
- Затем создайте обработчик содержимого, который определяет методы, которые должны быть уведомляется парсером, когда он встречает событие. Эти методы, известные как методы обратного вызова, предпринимают соответствующие действия по данным они получают.
Те же операции, если он выполняется JAXB, для доступа к Computer.xml
необходимо выполнить следующие шаги:- Привязать схему к XML-документу.
- Поднимите документ в объекты содержимого Java. Объекты контента Java представляют собой контент и организацию XML-документа и напрямую доступны для вашей программы. После unmarshalling ваша программа может получить доступ и отобразить данные в документе XML просто путем доступа к данным в объектах контента Java, а затем их отображения. Нет необходимости создавать и использовать парсер и не нужно писать обработчик содержимого с помощью методов обратного вызова. Это означает, что разработчики могут получать и обрабатывать XML-данные без необходимости знать XML или XML-обработку.
Ответ 3
Ключевое различие заключается в том, какую роль играет xml-схема. JAXP устарел без осознания XML-схемы, а JAXB обрабатывает привязку схемы как самый первый шаг.