簡體   English   中英

jaxb解組xml元素以包含一些字段

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM