【发布时间】:2014-05-04 16:20:12
【问题描述】:
我有一个简单的 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;
}
}
当我加载数据时,类型的集合为空。我知道我应该在第一堂课中使用@XmlElementWrapper 注释进行收集,但它应该是什么样子?这个注解应该看起来像@XmlElementWrapper(name = "DataTypes") 吗?但是在这种情况下,这个名称将与根元素相同吗? 我应该如何正确地做到这一点?
提前感谢您的帮助
【问题讨论】:
标签: java xml file jaxb mapping