如何使用以下代码解组XML字符串并将其映射到下面的JAXB对象?
JAXBContext jaxbContext = JAXBContext.newInstance(Person.class);
Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();
Person person = (Person) unmarshaller.unmarshal("xml string here");
Run Code Online (Sandbox Code Playgroud)
@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;
}
}
Run Code Online (Sandbox Code Playgroud)
ska*_*man 268
要传递XML内容,您需要将内容包装在一个Reader,然后解组,而不是:
JAXBContext jaxbContext = JAXBContext.newInstance(Person.class);
Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();
StringReader reader = new StringReader("xml string here");
Person person = (Person) unmarshaller.unmarshal(reader);
Run Code Online (Sandbox Code Playgroud)
And*_*ejs 157
或者,如果你想要一个简单的单行:
Person person = JAXB.unmarshal(new StringReader("<?xml ..."), Person.class);
Run Code Online (Sandbox Code Playgroud)
Boz*_*zho 21
没有unmarshal(String)方法.你应该使用Reader:
Person person = (Person) unmarshaller.unmarshal(new StringReader("xml string"));
Run Code Online (Sandbox Code Playgroud)
但通常你会从某个地方获取该字符串,例如文件.如果是这种情况,最好通过FileReader自己.
| 归档时间: |
|
| 查看次数: |
223943 次 |
| 最近记录: |