parser - manage xml java
¿Cuál es la diferencia entre JAXP y JAXB? (3)
¿Cuál es la diferencia entre JAXP y JAXB?
JAXP (API de Java para procesamiento de XML) es un término genérico bastante obsoleto que cubre varias API XML de bajo nivel en JavaSE, como DOM, SAX y StAX.
JAXB (Java Architecture for XML Binding) es una API específica (las cosas bajo javax.xml.bind
) que utiliza anotaciones para unir documentos XML a un modelo de objetos java.
JAXP es la API de Java para procesamiento de XML, que proporciona una plataforma para que analicemos los archivos XML con DOM o SAX Parsers.
Mientras que como JAXB es Java Architecture for XML Binding, facilitará el acceso a documentos XML desde aplicaciones escritas en el lenguaje de programación Java.
Por ejemplo: Computer.xml File, si queremos acceder a los datos con JAXP, realizaremos los siguientes pasos
- Cree un analizador SAX o un analizador DOM y, a continuación, coloque los datos, si usamos DOM, puede ser una tarea que requiere mucha memoria si el documento es demasiado grande. Supongamos que si usamos el analizador SAX, necesitamos identificar el comienzo del documento. Cuando encuentra algo significativo (en términos de SAX, un "evento") como el inicio de una etiqueta XML o el texto dentro de una etiqueta, hace que esos datos estén disponibles para la aplicación que realiza la llamada.
- A continuación, cree un controlador de contenido que defina los métodos a notificar por el analizador cuando se encuentre con un evento. Estos métodos, conocidos como métodos de devolución de llamada, toman la acción adecuada en los datos que reciben.
Las mismas operaciones si las realiza JAXB, se deben realizar los siguientes pasos para acceder al archivo Computer.xml
- Enlace el esquema para el documento XML.
- Descomponer el documento en objetos de contenido de Java. Los objetos de contenido de Java representan el contenido y la organización del documento XML, y están directamente disponibles para su programa. Después de desasociar, su programa puede acceder y visualizar los datos en el documento XML simplemente accediendo a los datos en los objetos de contenido de Java y luego mostrándolos. No es necesario crear y usar un analizador y no es necesario escribir un controlador de contenido con métodos de devolución de llamada. Lo que esto significa es que los desarrolladores pueden acceder y procesar datos XML sin tener que conocer el procesamiento XML o XML
La diferencia clave es qué función juega el esquema xml. JAXP está desactualizado sin conocimiento del Esquema XML, mientras que JAXB maneja el enlace del esquema como el primer paso.