【问题标题】:JAXB unmarshaling XmlJavaTypeAdapterJAXB 解组 XmlJavaTypeAdapter
【发布时间】:2012-03-28 09:36:04
【问题描述】:

如何使用 JAXB 注释 (XMLJavaTYpeAdapter) 描述 Java 类?实际上我想将以下 XML 格式解组为 Java 对象。

<map>
    <entry key="extraProperties">
        <map>
            <entry key="message" value=""/>
            <entry key="entity">
                <map>
                    <entry key="starttime" value="1330086091375"/>
                    <entry key="state" value="1"/>
                    <entry key="uptime" value="2837656746"/>
                </map>
            </entry>
            <entry key="childResources">
                <map>
                    <entry key="transaction-service" value="https://47.168.96.31:4848/monitoring/domain1/instanceMaster/transaction-service"/>
                    <entry key="http-service" value="https://47.168.96.31:4848/monitoring/domain1/instanceMaster/http-service"/>
                    <entry key="applications" value="https://47.168.96.31:4848/monitoring/domain1/instanceMaster/applications"/>
                    <entry key="deployment" value="https://47.168.96.31:4848/monitoring/domain1/instanceMaster/deployment"/>
                    <entry key="jvm" value="https://47.168.96.31:4848/monitoring/domain1/instanceMaster/jvm"/>
                    <entry key="web" value="https://47.168.96.31:4848/monitoring/domain1/instanceMaster/web"/>
                    <entry key="security" value="https://47.168.96.31:4848/monitoring/domain1/instanceMaster/security"/>
                    <entry key="network" value="https://47.168.96.31:4848/monitoring/domain1/instanceMaster/network"/>
                </map>
            </entry>
        </map>
    </entry>
    <entry key="message" value=""/>
    <entry key="exit_code" value="SUCCESS"/>
    <entry key="command" value="Monitoring Data"/>
</map>

【问题讨论】:

    标签: jaxb


    【解决方案1】:

    我已经定义了两个类名称 Map 和 Entry,它们将 Map 元素作为 List 和两个附加属性。好的,因为这个 xml 结构是静态的,所以创建对应于 XML 的类是很麻烦的。我想知道以下 xml can 结构如何映射到 java classess。 可以看到有些 entry 标签有 list 元素,有些 entry 标签 onty 有 map 元素,它是基于 rntry 键名的。

    <map>
        <entry key="extraProperties">
            <map>
                <entry key="methods">
                    <list>
                        <map></map>
                        <map></map>
                    </list>
                </entry>
                <entry key="instanceList">
                    <list>
                        <map></map>
                        <map></map>
                    </list>
                </entry>
            </map>
        </entry>
        <entry key="message" value="instanceMaster   running  
    instanceRemote   running  "/>
        <entry key="exit_code" value="SUCCESS"/>
        <entry key="command" value="list-instances AdminCommand"/>
    </map>
    

    【讨论】:

    • 在 Map 类中添加额外的一个 XmlElement 解决了我的问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-14
    • 2011-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-18
    相关资源
    最近更新 更多