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); //将该元素做为根元素

/**//*
加入注释
*/
root .addContent(new Comment("good"));//加一条注释

/**//*
加入复杂文本
*/
CDATA data=new CDATA("dfasfdasfdasd<adafa></adfasfsa>>SDFSAFASFDSAfa0");
root .addContent(data);
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); //输出文档
}
}
本文介绍了一个使用Java生成XML文件的示例代码。通过创建处理指令、文档类型、根元素等,展示了如何构造一个包含样式表链接及各种XML元素的完整文档。文中还涉及了如何设置文档格式和编码。

7746

被折叠的 条评论
为什么被折叠?



