这里有两个xsd的定义,几乎90%相似。下面是第一个xsd的骨架:
XSD1 :
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="apf2doc">
<xs:complexType>
<xs:sequence>
<xs:element ref="request"/>
<xs:element ref="account"/>
<xs:element ref="financial_transaction"/>
<xs:element ref="event_data" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
第二个xsd是:
XSD2:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="apf2doc">
<xs:complexType>
<xs:sequence>
<xs:element ref="request"/>
<xs:element ref="account"/>
<xs:element ref="message"/>
<xs:element ref="event_data" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
现在这两个 xsd 在两个不同的包中生成两组类。我正在使用 JAXB 来解组收到的 xml。xmls 是从这两个 xsd 生成的。
在创建 JAXB 上下文时,它会引发错误,因为我相信大多数类都会导致冲突。
这是错误跟踪:
The element name {}userid has more than one mapping. This problem is related to the following location:
at public javax.xml.bind.JAXBElement
generated.order.ObjectFactory.createUserid(java.lang.String) at
generated.order.ObjectFactory this problem is related to the following location:
at public javax.xml.bind.JAXBElement
generated.usage.ObjectFactory.createUserid(java.lang.String) at
generated.usage.ObjectFactory
如果有人可以建议我任何解决方案,那就太好了。
谢谢。