用jdom创建xml文档

类别:软件工程 点击:0 评论:0 推荐:

//所用工具 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>

本文地址:http://com.8s8s.com/it/it31973.htm