如何使用下面的代码将XML字符串映射到下面的JAXB对象?使用JAXB从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;
}
}
如果“xml string here”包含SOAP信封,您可以扩展此答案以包含吗? – JWiley 2014-03-11 14:25:21
如果您想将'Reader'与特定的bean类结合使用,该怎么办?由于没有'unmarshall(Reader,Class)'方法。例如。有没有办法将'Reader'转换成'javax.xml.transform.Source'? – bvdb 2016-07-13 10:29:09
在我的情况下工作如下:'JAXBElement elemento =(JAXBElement )unmarshaller.unmarshal(reader); MyObject object = elemento.getValue();' –
2017-01-12 00:26:42