JAXB Java和XSD映射
在我的一个项目中,我使用JAXB2 marshaller,使用契约优先的web服务,从XML模式生成对象 一切正常。但是,我有一个“代码可用性”问题。让我给你举个例子 模式:JAXB Java和XSD映射,java,xml,xsd,jaxb,marshalling,Java,Xml,Xsd,Jaxb,Marshalling,在我的一个项目中,我使用JAXB2 marshaller,使用契约优先的web服务,从XML模式生成对象 一切正常。但是,我有一个“代码可用性”问题。让我给你举个例子 模式: <xs:complexType name="personContractAlertListType"> <xs:sequence> <xs:element ref="PersonContractAlert" minOccurs="0" maxOccurs="unboun
<xs:complexType name="personContractAlertListType">
<xs:sequence>
<xs:element ref="PersonContractAlert" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:element name="PersonContractAlertsResponse">
<xs:complexType>
<xs:sequence>
<xs:element ref="PersonContractAlertList"/>
</xs:sequence>
</xs:complexType>
</xs:element>
这有点长
我的问题是:如何摆脱getPersonContractAlertListType()
并直接转到:PersonContractAlertsResponse.getPersonContractAlert()
因为这个包装器元素实际上只用于XSD,所以我的Java对象中不需要它
换言之,我们有:
<Element1>
<Wrapper>
<Element2/>
</Wrapper>
</Element1>
我希望它在Java中映射到:Element1.getElement2()
也许使用JAXB适配器。记住,我不想触摸生成的对象。这必须在封送器设置(Adapter、interceptor等)或XSD中完成(可能有一些设置需要操作)
非常感谢
更新:
我找到了一些绑定操作的教程:
我将研究并尝试使用JAXB绑定。要获得所需的对象模型,可以在中使用基于XPath的映射扩展
<Element1>
<Wrapper>
<Element2/>
</Wrapper>
</Element1>