Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 属性的JAXB多重映射_Java_Xml_Jaxb_Jaxb2_Unmarshalling - Fatal编程技术网

Java 属性的JAXB多重映射

Java 属性的JAXB多重映射,java,xml,jaxb,jaxb2,unmarshalling,Java,Xml,Jaxb,Jaxb2,Unmarshalling,我只是在改变过去的设计错误,但我想保持我的软件向后兼容。为此,我需要某种方法将两种风格的xml文件映射到一个JavaBean中。这可以在一个属性/元素上使用两个JAXB注释来完成吗?我知道编组是不明确的,但是解编组可以工作。有什么好办法吗 p、 s:我不关心编组。您可以映射两次: 第一次使用注释 第二次使用XML资源 或者只是两个XML映射而不是注释 对于XML资源映射,有许多选项: 安诺克斯:(我写的,所以它是第一位:)) 日食莫西: JAXB简介: 使用Annox,您可以使用具有不同

我只是在改变过去的设计错误,但我想保持我的软件向后兼容。为此,我需要某种方法将两种风格的xml文件映射到一个JavaBean中。这可以在一个属性/元素上使用两个JAXB注释来完成吗?我知道编组是不明确的,但是解编组可以工作。有什么好办法吗

p、 s:我不关心编组。

您可以映射两次:

  • 第一次使用注释
  • 第二次使用XML资源
或者只是两个XML映射而不是注释

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

  • 安诺克斯:(我写的,所以它是第一位:))
  • 日食莫西:
  • JAXB简介:
使用Annox,您可以使用具有不同扩展名的XML映射资源(如
MyClass.ann1.XML
MyClass.ann2.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>