这是我的一般问题:我希望所有内容都尽可能自动化。
这是我的具体问题:我想编组/解组CDATA 。我知道我可以将自己的适配器指定为here。对于构建过程,我使用Maven及其 maven-jaxb2-plugin 。是否有一些选项如何注释.xsd
中的元素,以便它们将由我的自定义适配器自动注释?我真的不想在每次构建后手动更改它们。
如何解决我的问题的任何其他方式都非常受欢迎。 :)
编辑:我已经遇到了一个子问题,并在那里进行了描述:JAXB binding - "unable to honor this conversion customization"。
答案 0 :(得分:1)
尝试此配置
<bindings version="2.0" xmlns="http://java.sun.com/xml/ns/jaxb"
xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
xmlns:annox="http://annox.dev.java.net"
xmlns:namespace="http://jaxb2-commons.dev.java.net/namespace-prefix">
<bindings schemaLocation="yourXSD.xsd">
<bindings node="//xsd:complexType[@name='Certificate']//xsd:sequence//xsd:element[@name='certificate']">
<xjc:javaType name="java.security.cert.X509Certificate" adapter="adapters.X509CertificateAdapter" />
</bindings>
<bindings node="//xsd:complexType[@name='User']//xsd:sequence//xsd:element[@name='certificate']">
<xjc:javaType name="java.security.cert.X509Certificate" adapter="adapters.X509CertificateAdapter" />
</bindings>
</bindings>
</bindings>
我在link
上解决了这个问题这个配置工作正常,如果是像xs:string,xs:date等的xmltype。
使用XmlJavaTypeAdapter尝试this配置来解决您的问题。