¿Cómo puedo usar el siguiente código para desmarcar una cadena XML y asignarla al objeto JAXB a continuación?Utilice JAXB para crear objetos a partir de la cadena XML
JAXBContext jaxbContext = JAXBContext.newInstance(Person.class);
Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();
Person person = (Person) unmarshaller.unmarshal("xml string here");
@XmlRootElement(name = "Person")
public class Person {
@XmlElement(name = "First-Name")
String firstName;
@XmlElement(name = "Last-Name")
String lastName;
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
}
¿Podría ampliar esta respuesta para incluir si la "cadena xml aquí" incluye un sobre SOAP? – JWiley
¿Qué sucede si quiere usar un 'Reader' en combinación con una clase específica de bean? Dado que no existe el método 'unmarshall (Reader, Class)'. P.ej. ¿Hay alguna manera de convertir el 'Reader' a' javax.xml.transform.Source'? – bvdb
En mi caso trabajo como: 'JAXBElement elemento = (JAXBElement ) unmarshaller.unmarshal (reader); MyObject object = elemento.getValue(); ' –