【问题标题】:Serialize one object into several different xml将一个对象序列化为几个不同的xml
【发布时间】:2013-12-09 14:45:47
【问题描述】:

我有一个问题。将 java 1 对象序列化为具有不同模式的少数 xml 的最佳方法是什么?例如,我们有这个 java bean:

class User { 
   String name;
   String gender;
   String age;
}

我想把它序列化到第一个

<user>
    <name>bobby</name>
    <gender>male</gender>
    <age>40</age>
</user>

<info>
    <employer>
        <data>
            <name>bobby</name>
        </data>
        <meta>
            <gender>male</gender>
            <age>40</age>
        </meta>
    </employer>
</info>

也许还有另一个 xml。你认为呢?

【问题讨论】:

    标签: java xml serialization marshalling


    【解决方案1】:

    您可以参考this answer。 JAXB 库基于 .xsd 文件生成序列化 xml 文件。当然,您可以根据自己的目的自定义 .xsd 文件。

    【讨论】:

      【解决方案2】:

      注意:我是EclipseLink JAXB (MOXy) 领导,也是JAXB (JSR-222) 专家组的成员。

      1. 元数据表示

        通常,object-to-XML 提供程序提供不同的方式来指定元数据。注释是指定元数据的一种方式,在所有看到的注释实例中,只对应一种表示。因此,您需要寻找提供替代方法的提供商,例如 XML 映射文档或编程元数据。

      2. 基于路径的映射

        通常,对象到 XML 提供程序通过对象/属性和嵌套级别之间的一对一关系提供映射。要映射到您的第二个表示,您需要一个能够进行基于路径的映射的提供程序。

      MOXy 提供您正在寻找的两种物品。下面是一个示例的链接,其中单个对象模型同时映射到 Google 和 Yahoo 天气 API:

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-02-22
        • 1970-01-01
        • 1970-01-01
        • 2018-01-04
        • 2013-07-28
        • 1970-01-01
        相关资源
        最近更新 更多