JAXB:作为属性

时间:2015-10-27 09:29:06

标签: java xml jaxb

我有一个List<String>的正常实例变量。如何将其转换为XML,以便将列表中的值添加为XmlAttributes而不是XmlValue

<book id="123"/>
<book id="456"/>
<book id="789"/>

而不是

<book>123</book>
<book>456</book>
<book>789</book>

我看到的一个选项是拥有包装String值的自定义对象列表。

2 个答案:

答案 0 :(得分:0)

尝试使用@XmlElement之类的

@XmlElement(name = "book")
List<String> books 

答案 1 :(得分:0)

你需要一个

class BookType {
    @XmlAttribute
    protected String id;
    //...
}

并将List<String>变为

    @XmlElement
    List book;