Java jaxb使用一些字段将xml元素解组到对象

Java jaxb使用一些字段将xml元素解组到对象,java,xml,jaxb,Java,Xml,Jaxb,我有一些课程: class Location { private Long id; private String roomTitle; protected Specialization specialization; } public class Specialization { private Long id; private boolean archived; private String title; }

我有一些课程:

class Location  {   

    private Long id;   

    private String roomTitle;  

    protected Specialization specialization;
}

public class Specialization  {

    private Long id;

    private boolean archived;

    private String title;
}
和xml:


一串
10

我是否可以将
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 central

<dependency>
    <groupId>com.github.codemonstur</groupId>
    <artifactId>simplexml</artifactId>
    <version>1.5.4</version>
</dependency>

com.github.codemontur
simplexml
1.5.4