在使用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();
}
}
}