Saltar al contenido

Ejemplo de descomposición de JAXB | Convertir XML en objeto en Java

octubre 16, 2021

Con la ayuda de UnMarshaller interfaz, podemos desarmar (leer) el objeto en un documento xml.

En este ejemplo, vamos a convertir un documento xml simple en un objeto java.

Veamos los pasos para convertir un documento XML en un objeto java.

  • Cree POJO o vincule el esquema y genere las clases
  • Cree el objeto JAXBContext
  • Crea los objetos Unmarshaller
  • Llamar al método unmarshal
  • Utilice métodos getter de POJO para acceder a los datos

Ejemplo de Unmarshaller: convertir un documento xml en un objeto java

Documento XML

Archivo: question.xml

xml version = "1.0" encoding = "UTF-8" standalone = "yes"?> java es un lenguaje de programación 101 ravi java es una plataforma 102 john ¿Qué es Java?


Clases de POJO

Archivo: Question.java

import java.util.List; importar javax.xml.bind.annotation.XmlAttribute; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; Pregunta de clase pública @XmlRootElement {id int privado; private String questionname; respuestas de la lista privada ; Pregunta pública () {} Pregunta pública (int id, String nombre de la pregunta, Lista respuestas) {super (); this.id = id; this.questionname = questionname; this.answers = respuestas; } @XmlAttribute public int getId () {id de retorno; } public void setId (int id) {this.id = id; } @XmlElement public String getQuestionname () {return questionname; } public void setQuestionname (String questionname) {this.questionname = questionname; } @XmlElement public List getAnswers () {devolver respuestas; } public void setAnswers (Lista respuestas) {this.answers = respuestas; }}

Archivo: Answer.java

Respuesta de clase pública {id int privado; cadena privada answername; Cadena privada publicada por; public Answer () {} public Answer (int id, String answername, String postedby) {super (); this.id = id; this.answername = answername; this.postedby = postedby; } public int getId () {id de retorno; } public void setId (int id) {this.id = id; } public String getAnswername () {return answername; } public void setAnswername (String answername) {this.answername = answername; } public String getPostedby () {return postedby; } public void setPostedby (String postedby) {this.postedby = postedby; }}

Clase Unmarshaller

Archivo: XmlToObject.java

Producción:

1 What is java?
Answers:
101 java is a programming language ravi
102 java is a platform john


close