注意: 我是 Eclipselink
JAXB(MOXy)的 负责人,并且是
JAXB(JSR-222) 专家组的成员。
如果您可以注释课程
如果可以修改类,则可以简单地
@XmlType向其中一个
City类添加注释,以更改相应的XML模式类型名称。
package **com.common**;@XmlType(name="city2")public class City { private String pinCode;}如果您无法注释课程
MOXy提供了一个外部映射文档扩展,可用于将JAXB元数据应用于无法更改的类。
<?xml version="1.0"?><xml-bindings xmlns="http://www.eclipse.org/eclipselink/xsds/persistence/oxm" package-name="**com.common**"> <java-types> <java-type name="City"> <xml-type name="city2"/> </java-type> </java-types></xml-bindings>
想要查询更多的信息
- http://blog.bdoughan.com/2010/12/extending-jaxb-representing-annotations.html
更新
1)我们只需要为一个城市类编写绑定文件,或者需要编写其他所有两个类(我的意思是地址和另一个城市)?
MOXy的外部映射文档可用于增强或完全替换类上的元数据(请参阅:http : //blog.bdoughan.com/2011/09/mapping-
objects-to-multiple-xml-
schemas.html)。如果您只需要对其中一个
City类进行更改,则无需包含其他类。
2)在绑定文件中,您仅考虑了类名,而不需要采用City中定义的属性(我的意思是pinCode)?
像任何JAXB实现一样,MOXy将默认映射应用于所有类。您只需要为希望映射行为与默认行为不同的地方提供元数据。
- http://blog.bdoughan.com/2012/07/jaxb-no-annotations-required.html
3)我们需要为此选择MOXy吗?
JAXB没有标准的外部映射文档。我描述的是一个MOXy扩展。如果您使用的是JAXB RI,则可以检查与Annox的集成。
- http://confluence.highsource.org/display/ANX/JAXB+User+Guide



