Управление результатом из аннотации 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

Другие вопросы по тегам