使用JDOM创建XML文档

    在使用JDOM实现输出的代码中,首先在内存中构建一个空的Document对象,

然后根据要输出的实际内容生成相应的对象,逐级添加对象,添加时要注意内容的嵌套关系。

示例:

1.新建students.css

name{
    display: block;
    font-size: 28px;
    text-align: center;
}

2.新建JDOMOutput类

package com.uos.xml_1;

import org.jdom2.CDATA;
import org.jdom2.Document;
import org.jdom2.Comment;
import org.jdom2.ProcessingInstruction;
import org.jdom2.Element;
import org.jdom2.Attribute;

import org.jdom2.output.Format;
import org.jdom2.output.XMLOutputter;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;

public class JDOMOutput {
    public static void main(String[] args) {
        /*构建一个空的Document对象*/
        Document doc = new Document();
        /*创建一个注释*/
        Comment comment = new Comment("一个学生信息文档");
        /*将注释添加到文档中*/
        doc.addContent(comment);
        /*创建一个处理指令*/
        ProcessingInstruction pi = new ProcessingInstruction("xml-stylesheet","type='text/css' href='students.css'");
        /*将处理指令添加到文档中*/
        doc.addContent(pi);
        /*创建一个元素,名为student*/
        Element root = new Element("student");
        /*将student元素作为文档的根元素*/
        doc.setRootElement(root);
        /*为元素student添加一个属性,id为2013010111*/
        Attribute attr = new Attribute("id","2013010111");
        root.setAttribute(attr);
        /*创建一个元素,名为name,设置内容为小田*/
        Element eltName = new Element("name");
        eltName.setText("小田");
        /*创建一个元素,名为age,设置内容为"22"*/
        Element eltAge = new Element("age");
        eltAge.setText("22");
        /*创建一个元素,名为description*/
        Element eltDescrip = new Element("description");
        CDATA cdata = new CDATA("最喜爱的图书《红楼梦》");
        eltDescrip.setContent(cdata);

        root.addContent(eltName);
        root.addContent(eltAge);
        root.addContent(eltDescrip);
        /*将JDOM构建的Document对象作为字节流输出*/
        XMLOutputter out = new XMLOutputter();
        //格式化输出
        Format fmt = Format.getPrettyFormat();
        //设置编码格式
        fmt.setEncoding("gb2312");
        //设定缩进
        fmt.setIndent("     ");
        out.setFormat(fmt);
        try{
            out.output(doc,new FileOutputStream(new File("E:\JavaProject\HandleXml\jdomout.xml")));  //设置xml文档保存的路径
        }catch (IOException e){
            e.printStackTrace();
        }
    }
}
原文地址:https://www.cnblogs.com/my-program-life/p/11528393.html