Android 为SimpleXML注释类

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文件创建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"/>
    </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
    注释
    t
    。但是,在XML文档中,
    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;
}