将一个对象序列化为几个不同的xml

时间:2013-12-09 14:45:47

标签: java xml serialization marshalling

我有一个问题。使用不同的模式将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。你认为呢?

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

  1. 元数据表示

    通常,对象到XML提供程序提供了指定元数据的不同方法。注释是指定元数据的一种方式,并且在所有看到的注释实例中仅对应于一个表示。因此,您需要寻找提供替代方法的提供程序,例如XML映射文档或程序化元数据。

  2. 基于路径的映射

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

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