Tutoriel Java&Xml (8) Convertir des objets Java en XML à l'aide de JDOM

黄舟
Libérer: 2017-02-22 14:55:02
original
1693 Les gens l'ont consulté

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;
    }

}
Copier après la connexion
Copier après la connexion

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));
    }

}
Copier après la connexion

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>
Copier après la connexion
Copier après la connexion

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;
    }

}
Copier après la connexion
Copier après la connexion

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));
    }

}
Copier après la connexion

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>
Copier après la connexion
Copier après la connexion

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) !


Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal