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