1

我正在使用在 .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>

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

4

1 回答 1

0

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

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

了解更多信息

于 2012-06-28T13:16:40.087 回答