jaxb java类到多个xml映射
我有几个java类,我想使用jaxb将它们转换为xml。(我不需要基于模式生成类)我需要能够将类映射到不同的xml格式,因此我不想使用注释。据我所见,我的最佳选择似乎是使用外部xml绑定。所以我想知道: 1) 我正在使用eclipse。我是JAXB新手,我想知道如何使用eclipse集成外部绑定 2) 除了外部xml绑定之外,还有哪些其他选项可用jaxb java类到多个xml映射,java,xml,jaxb,Java,Xml,Jaxb,我有几个java类,我想使用jaxb将它们转换为xml。(我不需要基于模式生成类)我需要能够将类映射到不同的xml格式,因此我不想使用注释。据我所见,我的最佳选择似乎是使用外部xml绑定。所以我想知道: 1) 我正在使用eclipse。我是JAXB新手,我想知道如何使用eclipse集成外部绑定 2) 除了外部xml绑定之外,还有哪些其他选项可用 请参见此处的“将自定义文件传递给JAXB绑定编译器”: 您可以编写一个脚本来集成到Eclipse中。或者您可以使用Maven或Ant任务 您唯一的选
我认为最好的选择是使用MOXy XML绑定:
<?xml version="1.0" encoding="US-ASCII"?>
<xml-bindings xmlns="http://www.eclipse.org/eclipselink/xsds/persistence/oxm"
package-name="example">
<java-types>
<java-type name="Customer">
<xml-root-element name="customer-info" />
<java-attributes>
<xml-attribute java-attribute="custId" name="customer-id" />
<xml-element java-attribute="picture" name="picture-hex">
<xml-schema-type name="hexBinary" />
<xml-java-type-adapter
value="example.adapters.MyHexConverter" />
</xml-element>
</java-attributes>
</java-type>
</java-types>
</xml-bindings>
因此,如果您想为同一个类创建多个不同的映射,只需编写几个XML绑定,并使用相应的文件创建JAXBContext
。我认为这是现在最好的选择,莫西
使用纯JAXB RI,您可以编写自己的注释阅读器。我曾经用Annox做过一次:
XML(1) <-> DTO(1)|<-\
XML(2) <-> DTO(2)|<--*->Model
XML(3) <-> DTO(3)|<-/
XML(1)DTO(1)|绑定文件被传递给JAXB XML模式编译器xjc,这肯定是OP无法做到的,因为他不是从XML模式开始的。@laune抱歉,你错了。在MOXy中有“XML绑定”,它基本上是XML形式注释的替代品:@lexicore将不得不研究它,但这个答案提到了JAXB编译器,OP排除了这一点。因此您的评论应该指向我对这个问题的评论(我已经删除了)。我支持我对这个答案的评论,这个答案并没有解决OPs问题。OP在哪里排除了xjc或模式文件?他说他想使用不同的格式,他可以使用多个模式文件。我遗漏了什么?是的,在我之前研究JBoss时,它似乎过时了,在JAXB不支持外部绑定的时候很有用。我和莫西试了第一种方法。但是我遇到了一些麻烦,因为它似乎没有考虑绑定文件。我把我的问题贴在这里()。如果你能帮忙,我将不胜感激。
XML(1) <-> DTO(1)|<-\
XML(2) <-> DTO(2)|<--*->Model
XML(3) <-> DTO(3)|<-/