//所用工具 eclipse http://www.eclipse.org //jdom http://www.jdom.org
package com.test.jdom; import java.io.IOException; import java.util.HashMap; import java.util.Map; import org.jdom.Attribute; import org.jdom.DocType; import org.jdom.Document; import org.jdom.Element; import org.jdom.ProcessingInstruction; import org.jdom.output.Format; import org.jdom.output.XMLOutputter; public class ProduceXMl { public static void main(String[] args) throws IOException { Document doc = new Document(); //创建空白文档 /* * 创建PI并添加到文档 */ Map map = new HashMap(); map.put("type","text/xsl"); map.put("href","products.xsl"); ProcessingInstruction pi = new ProcessingInstruction("xml-stylesheet",map);//处理指令 //将处理指令添加 doc.addContent(pi); /* * 创建文档类型并添加到文档 */ DocType type = new DocType("productsDetails"); //文档类型 type.setPublicID("public.dtd"); //设为 public //type.setSystemID("system.dtd"); //设为 system //添加文档类型 doc.addContent(type); Element root = new Element("productsDetails"); //创建一个元素 doc.setRootElement(root); //将该元素做为根元素 Element product = new Element("product"); root.addContent(product); //将product做为productsDetails的子元素 Attribute att = new Attribute("productID","0001"); //创建属性 product.setAttribute(att); //为product设置属性 //为product创建子元素,并将其content分别设为100.00,red product.addContent(new Element("rate").setText("100.00")); product.addContent(new Element("color").setText("红色")); /* * 格式化输出 */ XMLOutputter outp = new XMLOutputter();//用于输出jdom 文档 Format format=Format.getPrettyFormat(); //格式化文档 format.setEncoding("GBK"); //由于默认的编码是utf-8,中文将显示为乱码,所以设为gbk outp.setFormat(format); outp.output(doc,System.out); //输出文档 } } 结果如下: <?xml version="1.0" encoding="GBK"?> <?xml-stylesheet href="products.xsl" type="text/xsl"?> <!DOCTYPE productsDetails PUBLIC "public.dtd"> <productsDetails> <product productID="0001"> <rate>100.00</rate> <color>红色</color> </product> </productsDetails>

|