Управление результатом из аннотации XmlSeeAlso
У меня есть класс, в котором я получаю список объектов. Я использую аннотацию XmlSeeAlso для включения классов, присутствующих в списке. Вот мой класс:
@XmlRootElement
@XmlSeeAlso({BookStore.class,Book.class,Hello.class})
public class ResponseList {
private List<Object> list;
public List<Object> getList() {
return list;
}
public void setList(List<Object> list) {
this.list = list;
}
}
Я получаю следующий ответ:
<responseList>
<list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="book">
<author>Author</author>
<name>The Book</name>
</list>
<list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="bookStore">
<name>The Book Store</name>
<location>US</location>
</list>
</responseList>
Я не хочу это xmls:xsi=... в ответе. Я хочу, чтобы мой вывод выглядел так:
<responseList>
<list>
<author>Author</author>
<name>The Book</name>
</list>
<list>
<name>The Book Store</name>
<location>US</location>
</list>
</responseList>
Есть ли способ добиться этого?
1 ответ
Вам может помочь наследование Jaxb с заменой (используя аннотацию @XmlElementRef).
Для получения дополнительной информации, пожалуйста, посмотрите на ссылку ниже
http://blog.bdoughan.com/2010/11/jaxb-and-inheritance-using-substitution.html