Dans le didacticiel précédent, nous avons appris à utiliser JDOM pour analyser et modifier le contenu des fichiers XML. Cette section présente comment convertir des objets Java en données XML et générer des fichiers.
La classe Document de JDOM fournit des méthodes pratiques pour créer des éléments et des attributs. La classe XMLOutputter peut écrire un document dans n'importe quel objet OutputStream et Writer.
Dans cet exemple, nous créons une collection d'objets Employee et l'écrivons dans un fichier 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; } }
Nous utilisons l'identifiant de l'objet Employee comme attribut de l'élément Employee dans le fichier XML et définissons l'espace de noms de l'élément racine Employees sur "http://www. php.cn/"
JDOMXMLWriter.java
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)); } }
L'exécution du programme obtiendra le fichier XML suivant :
employees.xml
<?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>
Adresse d'origine : http : //www.php.cn/
Dans le didacticiel précédent, nous avons appris à utiliser JDOM pour analyser et modifier le contenu des fichiers XML. Cette section présente comment convertir des objets Java en données XML et générer des fichiers.
La classe Document de JDOM fournit des méthodes pratiques pour créer des éléments et des attributs. La classe XMLOutputter peut écrire un document dans n'importe quel objet OutputStream et Writer.
Dans cet exemple, nous créons une collection d'objets Employee et l'écrivons dans un fichier 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; } }
Nous utilisons l'identifiant de l'objet Employee comme attribut de l'élément Employee dans le fichier XML et définissons l'espace de noms de l'élément racine Employees sur "http://www. php.cn/"
JDOMXMLWriter.java
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)); } }
L'exécution du programme obtiendra le fichier XML suivant :
employees.xml
<?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>
Ce qui précède est le fichier Java&Xml tutoriel (8) Utiliser JDOM pour convertir Java Les objets sont convertis en contenu XML Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.php.cn) !