【发布时间】:2019-10-07 09:15:33
【问题描述】:
我正在尝试通过 jaxb 解组 xml 文件。
我的 xml 文件是:
<root id="1">
<fields>
<field id="2">
<values>
<value><some></value>
</values>
</field>
<field id="3">
<values>
<value><xxx></value>
</values>
</field>
<field id="483">
<values />
</field>
</fields>
</root>
***重要 键值的内容可以是任意类型(字符串、日期、整数)。
我解组元素的代码:
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "Fields", propOrder = {
"cuestionarios"
})
@XmlRootElement(name = "root")
public class Fields {
@XmlElement(name = "fields", required = true)
protected Field cuestionarios;
public Field getCuestionarios() {
return cuestionarios;
}
public void setCuestionarios(Field cuestionarios) {
this.cuestionarios = cuestionarios;
}
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "Field", propOrder = {
"values"
})
public class Field {
@XmlElement(name = "field", required = true)
protected List<Value> values;
public List<Value> getValues() {
if (values == null) {
values = new ArrayList<>();
}
return this.values;
}
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "Value", propOrder = {
"value"
})
public class Value {
@XmlElement(name = "values", required = true)
protected List<Object> value;
public Value(){
}
public List<Object> getValue() {
if (value == null) {
value = new ArrayList<>();
}
return this.value;
}
public void setValue(List<Object> value) {
this.value = value;
}
我在 cuestionarios 中得到空值。我不确定这是否是 xml 中的错误,格式错误,或者我在 xml 标签中有一些错误。我认为错误出现在 xml 的标签中。 列表已填满,但其所有字段均为空。
谢谢。
【问题讨论】:
标签: java xml jaxb unmarshalling