相关疑难解决方法(0)

如何在unmarshal期间使用JAXB XmlAdapter处理XML IDREF的前向引用?

在解组过程中是否可以IDREF在JAXB XmlAdapter中处理XML 元素的前向引用?例如,我有以下XML complexType:

<xs:complexType name="person">
    <xs:complexContent>
        <xs:sequence>
            <xs:element name="dateOfBirth" type="xs:dateTime" minOccurs="0"/>
            <xs:element name="firstName" type="xs:string" minOccurs="0"/>
            <xs:element name="gender" type="xs:string" minOccurs="0"/>
            <xs:element name="guardian" type="xs:IDREF" minOccurs="0"/>
            <xs:element name="homePhone" type="xs:string" minOccurs="0"/>
            <xs:element name="lastName" type="xs:string" minOccurs="0"/>
        </xs:sequence>
    </xs:complexContent>
</xs:complexType>
Run Code Online (Sandbox Code Playgroud)

其中guardian字段可以引用另一个Person文档中的别处型元件.我正在编组时使用XmlAdapter,以便第一次对象进行编组时,它会被包含编组,并且此对象的任何后续出现都将通过引用进行编组.看看以前的一个问题.但是,由于我的XML实例文档的创建方式,Person元素的第一次出现可能会在IDREF它发生之后发生.

这是可能的吗?或者我需要以不同的方式处理这个问题?谢谢!

xml jaxb forward-reference jaxb2 xml-parsing

4
推荐指数
1
解决办法
7094
查看次数

标签 统计

forward-reference ×1

jaxb ×1

jaxb2 ×1

xml ×1

xml-parsing ×1