使用JAXB解组不同XML文档的公共元素

时间:2012-08-08 19:12:15

标签: xml jaxb

我有许多XML文档都有一个共同的内部结构,看起来像:

<Fields>
    <Field>
        <Name>foo</Name>
    </Field>
    <Field>
        <Name>bar</Name>
    </Field>
</Fields>

每个不同的文档都是相似的,因为“Fields”元素的结构是相同的。根元素和周围元素可能不同。

示例文件1:

<ObjectX>
    <Fields>
        <Field>
            <Name>foo</Name>
        </Field>
        <Field>
            <Name>bar</Name>
        </Field>
    </Fields>
</ObjectX>

示例文件2:

<Object-Y>
    <Section1>
        <Fields>
            <Field>
                <Name>foo</Name>
            </Field>
            <Field>
                <Name>bar</Name>
            </Field>
        </Fields>
    </Section1>
</Object-Y>

是否可以使用JAXB来解组所有文档中的“Fields”元素,而无需设置与我不关心的元素相对应的Java类?

基于对类似问题的几个答案,我尝试了一些但无济于事 任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:1)

您可以在XML文档上创建StAX XMLStreamReader。将其推进到Fields元素,然后从该状态解组。

<强>实施例