JAXB-将XML文件映射到Java类

约翰·史密斯

我有简单的XML文件。

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <DataTypes>
   <Type name="type_integer" type="integer" />
   <Type name="valid_string" type="string" />
</DataTypes>

我创建了两个类来将此文件映射到这些类。首先它们应该对应于DataTypes标签。我将此类定义如下:

@XmlRootElement(name = "DataTypes")
    public class DataTypes {

       private List<DataType> types;

       public List<DataType> getTypes() {
         return types;
       }

       public void setTypes(List<DataType> types) {
         this.types = types;
       }

}

第二类对应于Type标签。我将此类定义如下:

@XmlAccessorType(XmlAccessType.FIELD)
public class DataType {

@XmlAttribute
private String name;

@XmlAttribute
private String type;

public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}

public String getType() {
    return type;
}

public void setType(String type) {
    this.type = type;
}
}

当我加载数据时,类型的集合为null。我知道我应该在第一个类中使用@XmlElementWrapper批注进行收集,但是它的外观如何?这个注释看起来像@XmlElementWrapper(name =“ DataTypes”)吗?但是在这种情况下,该名称将与根元素相同吗?我应该如何正确地做到这一点?

预先感谢您的帮助

博多安

使用当前的映射,JAXB需要以下XML:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<DataTypes>
   <types name="type_integer" type="integer" />
   <types name="valid_string" type="string" />
</DataTypes>

您只需要在DataTypes类中执行以下操作以指定Type应使用元素,而不是使用types从属性名称派生的默认元素

   @XmlElement(name="Type")
   public List<DataType> getTypes() {
     return types;
   }

可以在我的博客上找到更多信息:


关于 @XmlElementWrapper

@XmlElementWrapper用于在表示集合中项目的元素周围添加分组元素。如果您想进一步了解它可以做什么,请在我的博客上查看以下内容:

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

JAXB-将XML文件映射到Java类

来自分类Dev

JAXB将XML元素映射到DTO

来自分类Dev

JaxB将多个XMLTypes映射到单个类

来自分类Dev

如何使用jaxB或其他更好的方法将xml属性值映射到java类属性?

来自分类Dev

如何使用JAXB将复杂的XML元素映射到Java类属性

来自分类Dev

JAXB映射到JSON

来自分类Dev

使用Jaxb库Java从xml文件返回映射

来自分类Dev

JAXB-如何将xml数组映射到对象列表

来自分类Dev

JAXB:将XML属性值映射到自定义数据类型

来自分类Dev

JAXB将1个XML标记映射到2个变量

来自分类Dev

JAXB-如何将xml数组映射到对象列表

来自分类Dev

JAXB将空列表映射到空集合?

来自分类Dev

JAXB将具有复杂对象的Map映射到JSON

来自分类Dev

JAXB将具有复杂对象的Map映射到JSON

来自分类Dev

XML到Java JaxB

来自分类Dev

XML Java Jaxb的XSD

来自分类Dev

在JAXB中映射XML数组

来自分类Dev

使用Jaxb将xml文件转换为Java对象

来自分类Dev

JAXB复杂映射

来自分类Dev

jaxb,wsdl文件,重复的类

来自分类Dev

jaxb,wsdl文件,重复的类

来自分类Dev

如何命名JAXB类?

来自分类Dev

延迟处理JAXB类

来自分类Dev

生成Pretty JAXB类

来自分类Dev

JAXB生成的类

来自分类Dev

使用 JAXB 映射 XML,当字段是通用的,而实际的字段名称映射到别处时?

来自分类Dev

JAXB解组神秘XML

来自分类Dev

JAXB简单的XML解析

来自分类Dev

JAXB XML解组器