gpt4 book ai didi

java - 属性的 JAXB 多重映射

转载 作者:行者123 更新时间:2023-11-30 11:50:11 32 4
gpt4 key购买 nike

我只是在更改过去犯的设计错误,但希望保持软件的向后兼容性。为此,我需要一些方法将 xml 文件的两种风格映射到一个 java bean 中。这可以在一个属性/元素上使用两个 JAXB 注释来完成吗?我知道编码会模棱两可,但解码可以工作。有什么好的方法可以做到这一点吗?

p.s.:我不关心编码。

最佳答案

可以映射两次:

  • 第一次使用注解
  • 第二次使用XML资源。

或者只是两个 XML 映射而不是注释。

对于 XML 资源映射,有许多选项:

借助 Annox,您可以使用具有不同扩展名(如 MyClass.ann1.xmlMyClass.ann2.xml)的 XML 映射资源轻松映射两次。 (默认情况下是 MyClass.ann.xml,但调整是微不足道的。)

下面是映射的示例:

<class xmlns="http://annox.dev.java.net" xmlns:annox="http://annox.dev.java.net" xmlns:jaxb="http://annox.dev.java.net/javax.xml.bind.annotation">

<jaxb:XmlAccessorType value="FIELD"/>
<jaxb:XmlType name="" propOrder="productName quantity usPrice comment shipDate"/>
<field name="productName">
<jaxb:XmlElement required="true"/>
</field>
<field name="usPrice">
<jaxb:XmlElement name="USPrice" required="true"/>
</field>
<field name="shipDate">
<jaxb:XmlSchemaType name="date"/>
</field>
<field name="partNum">
<jaxb:XmlAttribute required="true"/>
</field>
</class>

关于java - 属性的 JAXB 多重映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8107835/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com