Siv*_*gam 5 android simple-framework
我正在尝试使用Simple-XML-framework.但我得到ValueRequiredException
org.simpleframework.xml.core.ValueRequiredException: Unable to satisfy @org.simpleframework.xml.ElementList(data=false, empty=true, entry=, inline=false, name=, required=true, type=void) on field 'Employees' public java.util.List com.example.xmlparsing.Company.Employees for class com.example.xmlparsing.Company at line 2
Run Code Online (Sandbox Code Playgroud)
我的XML文件包含以下内容:
<?xml version="1.0" encoding="utf-8"?>
<Company>
<Emp>
<Name>Venkat</Name>
<ID>661511</ID>
</Emp>
<Emp>
<Name>Shiv</Name>
<ID>661311</ID>
</Emp>
</Company>
Run Code Online (Sandbox Code Playgroud)
我的注释类如下:
Company.java:
package com.example.xmlparsing;
import java.util.List;
import org.simpleframework.xml.ElementList;
import org.simpleframework.xml.Root;
@Root
public class Company {
@ElementList
public List<Emp> Employees;
}
Run Code Online (Sandbox Code Playgroud)
Emp.java:
package com.example.xmlparsing;
import org.simpleframework.xml.Element;
import org.simpleframework.xml.Root;
import org.simpleframework.xml.Text;
@Element(name="Emp")
public class Emp {
@Element
public String Name;
@Element
public String ID;
}
Run Code Online (Sandbox Code Playgroud)
可能是什么问题呢?怎么解决?
您的代码中有两个错误:
首先,你需要@Root()而不是@Element在Emp课堂上:
@Root(name="Emp")
public class Emp {
@Element
public String Name;
@Element
public String ID;
}
Run Code Online (Sandbox Code Playgroud)
其次,如果你使用这样的列表:
@Root
public class Company {
@ElementList
public List<Emp> Employees;
}
Run Code Online (Sandbox Code Playgroud)
它包装成另一个xml标签.
您可以更改xml或只是使用@ElementList(inline = true).
| 归档时间: |
|
| 查看次数: |
3800 次 |
| 最近记录: |