Jdom创建xml文档(转)

来源:互联网 发布:博弈论支付矩阵画线法 编辑:程序博客网 时间:2024/06/05 09:01

//所用工具 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>(王朝网络 wangchao.net.cn)

原创粉丝点击