java - 操作 XmlSeeAlso 注释的结果

标签 java xml jaxb xsi

我有一个类,我在其中获取对象列表。我使用 XmlSeeAlso 注释来包含列表中存在的类。这是我的类(class):

@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>

有什么办法可以实现这一点吗?

最佳答案

带有替换的 Jaxb 继承可能会对您有所帮助(使用 @XmlElementRef 注释)。
欲了解更多信息,请查看下面的链接

http://blog.bdoughan.com/2010/11/jaxb-and-inheritance-using-substitution.html

关于java - 操作 XmlSeeAlso 注释的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17608180/

相关文章:

java - ConcurrentHashmap size() 方法是否计算空键?

c# - 将 KBDLLHOOKSTRUCT(.NET) 转换为 KeyEvent/Char(Java)、JNA

c# - 如何创建动态数量的对象?设计模式帮助

java - 创建抽象通用 jaxb 类

java - 抽象类扩展返回类型

java - Java中模拟类分类的方法

Python从xml树中删除重复元素

java - 没有找到适合响应类型的 HttpMessageConverter

java - 从 XML 文档、XSLT 和 JAXB 中删除元素

java - 用于测试大型文档映射的 Jaxb 策略