java 中xml转换为Bean实例解析(纯代码)
程序员文章站
2022-03-14 11:09:07
...
最近用到,记录一个自己写的demo
在根元素上使用@XmlRootElement注解,name为元素名
子元素属性使用@XmlElement,name为元素名
若有属性,例如<emplyee hobby="swim" >,则使用@XmlAttribute,name为属性名
xml:
<?xml version="1.0" encoding="UTF-8"?> <employees> <employee> <userId>johnsmith@company.com</userId> <password>abc123_</password> <name>John Smith</name> <age>24</age> <gender>Male</gender> </employee> <employee> <userId>christinechen@company.com</userId> <password>123456</password> <name>Christine Chen</name> <age>27</age> <gender>Female</gender> </employee> </employees>
Employees:
import java.util.List; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; @XmlRootElement(name = "employees") public class Employees { private List<Employee> eList; @XmlElement(name = "employee") public List<Employee> geteList() { return eList; } public void seteList(List<Employee> eList) { this.eList = eList; } }
Employee:
import javax.xml.bind.annotation.XmlElement; public class Employee { private String userId; private String password; private String name; private String age; private String gender; @Override public String toString() { return "Employee [userId=" + userId + ", password=" + password + ", name=" + name + ", age=" + age + ", gender=" + gender + "]"; } @XmlElement(name="userId") public String getUserId() { return userId; } public void setUserId(String userId) { this.userId = userId; } @XmlElement(name="password") public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } @XmlElement(name="name") public String getName() { return name; } public void setName(String name) { this.name = name; } @XmlElement(name="age") public String getAge() { return age; } public void setAge(String age) { this.age = age; } @XmlElement(name="gender") public String getGender() { return gender; } public void setGender(String gender) { this.gender = gender; } }
解析类
public static void main(String[] args) throws JAXBException { JAXBContext context = JAXBContext.newInstance(Employees.class); Unmarshaller createUnmarshaller = context.createUnmarshaller(); Object unmarshal = createUnmarshaller.unmarshal( new File("D:/java/workspacedev/JavaTest/xml/employees.xml")); Employees em = (Employees) unmarshal; List<Employee> list = em.geteList(); for (Employee employee : list) { System.out.println(employee); } }
相关推荐:
Java&Xml教程(八)使用JDOM将Java对象转换为XML
以上就是java 中xml转换为Bean实例解析(纯代码)的详细内容,更多请关注其它相关文章!
上一篇: 使用C#处理基于比特流的数据
下一篇: 为 Nginx 添加模块的方法