【发布时间】:2017-04-28 18:56:19
【问题描述】:
我正在尝试将 xml 转换为我的 Java 类
@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement(name = "Request")
public class Request {
@XmlElement(name="UserName")
private String username;
@XmlElement(name="Password")
private String password;
@XmlElement(name="XMLPost")
private String xmlPost;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getXmlPost() {
return xmlPost;
}
public void setXmlPost(String xmlPost) {
this.xmlPost = xmlPost;
}}
这是我的上下文
JAXBContext jc = JAXVContext.newInstance(Request.class, Report.class, Status.class);
StringReader reader = new StringReader(xml);
Unmarshaller unmarshaller = jc.createUnmarshaller();
这就是我如何一起使用它们
Request request = unmarshaller.unmarshal(reader);
在Request 类中,xmlPost 将包含Report 的xml 或Status 的xml 所以我想将它捕获到一个字符串中,以便我可以尝试解组每个案例。
Report 类来自我无法控制的第 3 方请求。但是,当我尝试解组Request 时,如果XMLPost 字段中有任何XML,它也会尝试解组它,即使我已指定它应该只是String。为什么我不能将XMLPost 中的xml 填充到String 中?
感谢所有高级帮助。
【问题讨论】:
-
你能发布你得到的错误吗?
-
@AdamRosini 我没有收到错误,只是在我的 Request 类中 XMLPost 是一个空字符串,而我期待一个带有 xml 的字符串
标签: java xml jaxb unmarshalling