jaxb unmarshal xml元素到一些字段的对象
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jaxb unmarshal xml元素到一些字段的对象相关的知识,希望对你有一定的参考价值。
我有一些课程:
class Location {
private Long id;
private String roomTitle;
protected Specialization specialization;
}
public class Specialization {
private Long id;
private boolean archived;
private String title;
}
和xml:
<location id="10">
<roomTitle>string</roomTitle>
<specializationId>10</specializationId>
</location>
我可以将specializationId
解组到Location.specialization.id
吗?
答案
我不知道jaxb,但SimpleXml可以做到。
首先,我们需要添加一些注释:
public class Location {
private Long id;
private String roomTitle;
@XmlName("specializationId")
protected Specialization specialization;
}
public class Specialization {
@XmlTextNode
private Long id;
private Boolean archived;
private String title;
}
请注意,archived
现在是一个布尔类。常规布尔值不能为null。接下来,我们将xml序列化为Location类。
final SimpleXml simple = new SimpleXml();
final Location l = simple.fromXml(xml, Location.class);
然后我们可以打印该值
System.out.println(l.specialization.id);
这将打印
10
SimpleXml位于maven中心
<dependency>
<groupId>com.github.codemonstur</groupId>
<artifactId>simplexml</artifactId>
<version>1.5.4</version>
</dependency>
以上是关于jaxb unmarshal xml元素到一些字段的对象的主要内容,如果未能解决你的问题,请参考以下文章
Jaxb UnMarshal 错误:意外元素(uri:“”,本地:“processedSalesOrderTypeList”)。预期的元素是
使用 JAXB 和 Unmarshal 过早结束文件。响应中的 xml 对我来说似乎有效