Java&Xml教程(八)使用JDOM将Java对象转换为XML

互联网 17-2-22

JDOM的Document类提供了便捷的方法创建元素和属性,XMLOutputter 类能将Document写到任何OutputStream和Writer对象中。 在本例中我们创建Employee对象集合并将它写到XML文件中。 Employee.java

package com.journaldev.xml;  public class Employee {      private int id;      private String name;      private String gender;      private int age;      private String role;      public Employee(){}      public Employee(int id, String name, int age, String gender, String role){          this.id=id;          this.age=age;          this.name=name;          this.gender=gender;          this.role=role;      }    public int getId() {              return id;      }    public void setId(int id) {              this.id = id;      }    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;      }    }
package com.journaldev.xml.jdom;  import java.io.FileOutputStream;  import java.io.IOException;  import java.util.ArrayList;  import java.util.List;  import org.jdom2.Document;  import org.jdom2.Element;  import org.jdom2.Namespace;  import org.jdom2.output.Format;  import org.jdom2.output.XMLOutputter;  import com.journaldev.xml.Employee;  public class JDOMXMLWriter {        public static void main(String[] args) throws IOException {          List<Employee> empList = new ArrayList<>();          empList.add(new Employee(1, "Pankaj",25,"Male","Java Developer"));          empList.add(new Employee(2, "Mona",34,"Female","Manager"));          empList.add(new Employee(3, "Dave",45,"Male","Support"));            String fileName = "employees.xml";          writeFileUsingJDOM(empList, fileName);      }        private static void writeFileUsingJDOM(List<Employee> empList, String fileName) throws IOException {          Document doc = new Document();          doc.setRootElement(new Element("Employees",  Namespace.getNamespace("http://www.journaldev.com/employees")));          for(Employee emp : empList){              Element employee = new Element("Employee");              employee.setAttribute("id",""+emp.getId());              employee.addContent(new Element("age").setText(""+emp.getAge()));              employee.addContent(new Element("name").setText(emp.getName()));              employee.addContent(new Element("gender").setText(emp.getGender()));              employee.addContent(new Element("role").setText(emp.getRole()));              doc.getRootElement().addContent(employee);          }          //JDOM document is ready now, lets write it to file now          XMLOutputter xmlOutputter = new XMLOutputter(Format.getPrettyFormat());          //output xml to console for debugging          //xmlOutputter.output(doc, System.out);          xmlOutputter.output(doc, new FileOutputStream(fileName));      }    }
<?xml version="1.0" encoding="UTF-8"?><Employees xmlns="http://www.journaldev.com/employees">    <Employee xmlns="" id="1">      <age>25</age>      <name>Pankaj</name>      <gender>Male</gender>      <role>Java Developer</role>    </Employee>    <Employee xmlns="" id="2">      <age>34</age>      <name>Mona</name>      <gender>Female</gender>      <role>Manager</role>    </Employee>    <Employee xmlns="" id="3">      <age>45</age>      <name>Dave</name>      <gender>Male</gender>      <role>Support</role>    </Employee></Employees>

原文地址:http://www.php.cn/

在前面的教程中我们学习了如何使用JDOM解析和修改XML文件内容,本节介绍如何将Java对象转换为XML数据并生成文件。 JDOM的Document类提供了便捷的方法创建元素和属性,XMLOutputter 类能将Document写到任何OutputStream和Writer对象中。 在本例中我们创建Employee对象集合并将它写到XML文件中。 Employee.java

package com.journaldev.xml;  public class Employee {      private int id;      private String name;      private String gender;      private int age;      private String role;      public Employee(){}      public Employee(int id, String name, int age, String gender, String role){          this.id=id;          this.age=age;          this.name=name;          this.gender=gender;          this.role=role;      }    public int getId() {              return id;      }    public void setId(int id) {              this.id = id;      }    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;      }    }
package com.journaldev.xml.jdom;  import java.io.FileOutputStream;  import java.io.IOException;  import java.util.ArrayList;  import java.util.List;import org.jdom2.Document;  import org.jdom2.Element;import org.jdom2.Namespace;  import org.jdom2.output.Format;  import org.jdom2.output.XMLOutputter;  import com.journaldev.xml.Employee;  public class JDOMXMLWriter {        public static void main(String[] args) throws IOException {          List<Employee> empList = new ArrayList<>();          empList.add(new Employee(1, "Pankaj",25,"Male","Java Developer"));          empList.add(new Employee(2, "Mona",34,"Female","Manager"));          empList.add(new Employee(3, "Dave",45,"Male","Support"));            String fileName = "employees.xml";          writeFileUsingJDOM(empList, fileName);      }        private static void writeFileUsingJDOM(List<Employee> empList, String fileName) throws IOException {          Document doc = new Document();          doc.setRootElement(new Element("Employees",  Namespace.getNamespace("http://www.journaldev.com/employees")));          for(Employee emp : empList){              Element employee = new Element("Employee");              employee.setAttribute("id",""+emp.getId());              employee.addContent(new Element("age").setText(""+emp.getAge()));              employee.addContent(new Element("name").setText(emp.getName()));              employee.addContent(new Element("gender").setText(emp.getGender()));              employee.addContent(new Element("role").setText(emp.getRole()));              doc.getRootElement().addContent(employee);          }          //JDOM document is ready now, lets write it to file now          XMLOutputter xmlOutputter = new XMLOutputter(Format.getPrettyFormat());          //output xml to console for debugging          //xmlOutputter.output(doc, System.out);          xmlOutputter.output(doc, new FileOutputStream(fileName));      }    }
<?xml version="1.0" encoding="UTF-8"?><Employees xmlns="http://www.journaldev.com/employees">    <Employee xmlns="" id="1">      <age>25</age>      <name>Pankaj</name>      <gender>Male</gender>      <role>Java Developer</role>    </Employee>    <Employee xmlns="" id="2">      <age>34</age>      <name>Mona</name>      <gender>Female</gender>      <role>Manager</role>    </Employee>    <Employee xmlns="" id="3">      <age>45</age>      <name>Dave</name>      <gender>Male</gender>      <role>Support</role>    </Employee></Employees>

以上就是Java&Xml教程(八)使用JDOM将Java对象转换为XML的内容,更多相关内容请关注PHP中文网(www.php.cn)!

来源链接:
免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场
上一篇:php获取远程图片并下载保存到本地的方法分析 下一篇:Java&Xml教程(七)使用JDOM修改XML文件内容

相关资讯