[英]jaxb unmarshal xml element to object with some fields
我有一些課:
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>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.