【问题标题】:JAXB unmarshalling same XML element but different childsJAXB 解组相同的 XML 元素但不同的子元素
【发布时间】:2017-10-18 12:29:13
【问题描述】:

我有以下需要解组的 XML:

<data>
    <property>
        <name>Color</name>
        <value>Red</value>
        <value>Green</value>
    </property>
    <property>
        <name>Size</name>
        <description>
            <num>10</num>
            <uom>cm</uom>
        </description>
    </property>
</data>

如何将其解组为 POJO DataModel?

谢谢。

【问题讨论】:

  • 例如:howtodoinjava.com/jaxb/…。使用 Google 很容易找到
  • 不,链接中的情况并非如此。这里每个property 都有一个name(共享)但有valuedescription - 所以这是两个不同的对象

标签: java xml jaxb jaxb2


【解决方案1】:

取决于您使用的方法。 “自上而下”或“自下而上”。

"up-bottom" 表示您有 XSD,其中您将 valuedescription 元素定义为 choice 或者您可以在 property 元素类型中只有两个可选元素 valuedescription . 在这种情况下,jaxb 会为您生成正确的 POJO。

“自下而上”你必须先在 POJO 中做同样的事情,并在其中提供相应的 jaxb 注释。

顺便说一句:如果您不确定如何“自下而上”地进行操作,但又想使用它 - 只需制作简单的 XSD、生成 POJO 并检查 jaxb 如何对其进行注释...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多