我正在使用simplexml解析来从网络中获取数据.解析它时显示以下错误.
错误:
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 'jobs' private java.util.List com.example.simpledataparsing.JobList.jobs for class com.example.simpledata.line2
Run Code Online (Sandbox Code Playgroud)
xml文件:
<?xml version="1.0" encoding="UTF-8" ?>
<joblist>
<job><id>75027</id><status>OPEN</status><customer>Manikandan</customer><address>asdf</address><city>salem</city><state>tn</state><zip>636005</zip><product>pipe</product><producturl></producturl><comments>asdf</comments></job>
</joblist>
Run Code Online (Sandbox Code Playgroud)
pojo类:JobList.java
package com.example.simpledataparsing;
import java.util.List;
import org.simpleframework.xml.Element;
import org.simpleframework.xml.ElementList;
@Element (name="joblist")
public class JobList {
@ElementList
private List<Job> jobs;
public List<Job> getJobs() {
return jobs;
}
public void setJobs(List<Job> jobs) {
this.jobs = jobs;
}
}
Run Code Online (Sandbox Code Playgroud)
Job.java
package com.example.simpledataparsing;
import org.simpleframework.xml.Element;
@Element (name = "job")
public class Job {
@Element
private int id;
}
Run Code Online (Sandbox Code Playgroud)
您必须进行两次更正:
该课程没有完全实施; XML中的字段数多于实际类中的字段数.这将使类的反序列化失败.
只需将所有这些字段添加到您的班级并设置正确的注释.注意,producturl标记为,@Element(required = false)所以没有必需的值,它可以是空的(如在XML中).
@Element(name = "job")
public class Job
{
@Element
private int id;
@Element
private String status;
@Element
private String customer;
@Element
private String address;
@Element
private String city;
@Element
private String state;
@Element
private String zip;
@Element
private String product;
@Element(required = false)
private String producturl;
@Element
private String comments;
// ...
}
Run Code Online (Sandbox Code Playgroud)
XML包含内联侦听,您也必须inline在类中设置它.
@Element(name = "joblist")
public class JobList
{
@ElementList(inline = true)
private List<Job> jobs;
// ...
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5208 次 |
| 最近记录: |