Android 为SimpleXML注释类
我正在尝试为这个XML文件创建pojo,但没有成功Android 为SimpleXML注释类,android,xml,xml-parsing,simple-framework,Android,Xml,Xml Parsing,Simple Framework,我正在尝试为这个XML文件创建pojo,但没有成功 <?xml version="1.0" encoding="UTF-8"?> <PCOWEB t="2010-03-22 11:48 "> <PCO> <INTEGER_R> <O I="I00000" V="73"/> <O I="I00001" V="21"/> <O I="I00002" V="0"/>
<?xml version="1.0" encoding="UTF-8"?>
<PCOWEB t="2010-03-22 11:48 ">
<PCO>
<INTEGER_R>
<O I="I00000" V="73"/>
<O I="I00001" V="21"/>
<O I="I00002" V="0"/>
</INTEGER_R>
<INTEGER_RW>
<O I="H00200" V="5050"/>
<O I="H00201" V="0"/>
<O I="H00202" V="0"/>
<O I="H00203" V="0"/>
</INTEGER_RW>
<DIGITAL_R>
<O I="D00000" V="0"/>
<O I="D00001" V="1"/>
<O I="D00002" V="0"/>
</DIGITAL_R>
<DIGITAL_RW>
<O I="C00200" V="0"/>
<O I="C00201" V="0"/>
</DIGITAL_RW>
</PCO>
但我收到一个错误:
属性“t”在第1行的类pojo中没有匹配项首先,您的XML文档无效,因为它缺少结尾的结束标记 Java映射类有几个问题
- 粘贴代码的第6行右括号处有语法错误(可能是复制粘贴问题)
- 您正在使用
注释@Element
。但是,在XML文档中,t
不是元素,而是t
元素的属性PCO
- 。但是,您可以使用静态嵌套类(参见)
import org.simpleframework.xml.*;
@Root(strict = false) // indicates that this is a loose (partial) mapping
public class PCOWEB {
@Root(strict = false)
private static class PCO {
}
@Attribute
private String t;
@Element(name = "PCO")
private PCO pco;
}
谢谢你的帮助,最后看起来是这样的:
@Root
public class PCOWEB {
@Attribute (name="t")
private String time;
@Element
private PCO PCO;
}
public class PCO {
@ElementList
private List<Entry> INTEGER_R;
@ElementList
private List<Entry> INTEGER_RW;
@ElementList
private List<Entry> DIGITAL_R;
@ElementList
private List<Entry> DIGITAL_RW;
}
@Element (name="O")
public class Entry {
@Attribute (name="I")
private String key;
@Attribute (name="V")
private String value;
}
@Root
公共类PCOWEB{
@属性(name=“t”)
私有字符串时间;
@元素
私营私营公司;
}
公共类PCO{
@元素列表
私有列表整数;
@元素列表
私有列表整数_RW;
@元素列表
私人数字清单;
@元素列表
私人名单数字图书馆;
}
@元素(name=“O”)
公开课入学{
@属性(name=“I”)
私钥;
@属性(name=“V”)
私有字符串值;
}
@Root
public class PCOWEB {
@Attribute (name="t")
private String time;
@Element
private PCO PCO;
}
public class PCO {
@ElementList
private List<Entry> INTEGER_R;
@ElementList
private List<Entry> INTEGER_RW;
@ElementList
private List<Entry> DIGITAL_R;
@ElementList
private List<Entry> DIGITAL_RW;
}
@Element (name="O")
public class Entry {
@Attribute (name="I")
private String key;
@Attribute (name="V")
private String value;
}