【问题标题】:JAXB add grouping element to a list, .NET likeJAXB 将分组元素添加到列表中,.NET 之类的
【发布时间】:2012-06-28 13:07:02
【问题描述】:

我正在处理在 .NET 应用程序中生成和使用的 xml 文件。

我需要在 Java 中反序列化这个文件并选择使用 JAXB。

但是,在尝试创建匹配类之后,我发现了一个主要区别。

当有一个

@XmlRootElement
public class SomeClass{ 
    List<NestedClass> classes;
}

我得到以下结构:

 <SomeClass>
        ...
        <NestedClasses>
        ...
        </NestedClasses>
        <NestedClasses>
        ...
        </NestedClasses>
    </SomeClass>

与所需的现有结构相反:

<SomeClass>
        ...
        <NestedClasses>
          <NestedClass>
          ...
          </NestedClass>
          <NestedClass>
          ...
          </NestedClass>
        </NestedClasses>
    </SomeClass>

有没有一种方法可以在不添加仅包含嵌套类列表的类的情况下获得所需的结构?

【问题讨论】:

    标签: java jaxb xml-serialization


    【解决方案1】:

    您将需要一个包装该集合的类。要获得所需的映射,您可以使用@XmlElementWrapper 注释来指定应该使用分组元素。然后可以使用@XmlElement注解来指定代表集合中项目的元素名称:

    @XmlRootElement
    public class SomeClass{ 
        @XmlElementWrapper
        @XmlElement(name="NestedClass")
        List<NestedClass> classes;
    }
    

    更多信息

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-03-18
      • 2021-07-23
      • 1970-01-01
      • 1970-01-01
      • 2014-06-16
      相关资源
      最近更新 更多