【发布时间】:2014-09-19 11:24:40
【问题描述】:
我想使用SimpleXML 框架读取并解析包含员工信息的XML 文件。这是我的 XML 文件:
<?xml version="1.0" encoding="UTF-8"?>
<Employees>
<Employee>
<age>29</age>
<name>Pankaj</name>
<gender>Male</gender>
<role>Java Developer</role>
</Employee>
<Employee>
<age>35</age>
<name>Lisa</name>
<gender>Female</gender>
<role>CEO</role>
</Employee>
</Employees>
这是雇员类:
@Root
public class Employees {
@ElementList(inline = true)
private List<Employee> list;
public List<Employee> getList() {
return list;
}
}
这里是 Employee 类:
@Root
public class Employee {
@Element
private String name;
@Element
private String gender;
@Element
private int age;
@Element
private String role;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getRole() {
return role;
}
public void setRole(String role) {
this.role = role;
}
@Override
public String toString() {
return " Name=" + this.name + " Age="
+ this.age + " Gender=" + this.gender + " Role=" + this.role;
}
}
但是当我尝试读取和解析 XML 文件时,会发生异常。这是输出:
Exception in thread "main" org.simpleframework.xml.core.ElementException: Element 'Employee' does not have a match in class Employees at line 3
【问题讨论】:
-
您可以使用 JaxB 来读取和解析 XML。有了 JAXB,它就容易多了。你只需要编组和解组。如果您有兴趣阅读和解析 JAXB,请告诉我。我可以帮你。
-
但是我想知道我的代码出了什么问题,我很高兴能测试任何其他框架。我想评估不同解析器中的时间和内存使用情况。所以请帮助我处理 JAXB。
标签: java xml simple-framework