2015-10-27 3 views
0

У меня есть нормальная переменная экземпляра List<String>. Как я могу преобразовать его в XML таким образом, что значения в списке будут добавлены в XmlAttributes вместо XmlValueJAXB: список строк как атрибуты

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

вместо

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

Один из вариантов я вижу, чтобы иметь список заказного объекта, который оборачивает значения String.

ответ

0

Вам нужен

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

и сделать List<String> в

 
    @XmlElement 
    List book; 
+0

Да, уже упоминался этот подход в вопросе. Кажется, это единственный способ. – sidgate

0

пытаются использовать @XmlElement как

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

Это дает мне список значений в качестве узла текста вместо значения атрибута , о котором я уже говорил – sidgate

+0

Да, извините. Я думаю, вам нужно написать @XmlJavaTypeAdapter. – Anton

Смежные вопросы