热门:网页模板.net视频教程JQueryMVCjsonExtJs源码示例三级联动JQuery菜单
您现在的位置:.Net中文社区>> XML编程>>正文内容

JDOM创建XML例子

发布时间:2009年12月26日点击数: 未知

如果不为其设置,将会默认编码为utf-8,并且不会换行等,生成的XML就会不美观,在网上搜索了,原到有采用这样设置编码的:

  1. Document doc = new Document(); //内存中已构造好的jdom Document对象   
  2. XMLOutputter output = new XMLOutputter(2, true"GB2312"); //2是指缩进2个字符,true表示用换行,--增强可读性   
  3. FileOutputStream out = new FileOutputStream(fileName);   
  4. output.output(doc, out); 

这是JDOM1.0以前支持的设置编码方法,以后的版本就没有了,JDOM已经将这一块功能给剥离出来,形成了Format对象,所有的设置都在该类当中处理,如下:

  1. XMLOutputter out;       
  2. Format format = Format.getCompactFormat();       
  3. format.setEncoding("gb2312"); //setEncoding就是设置编码了      
  4. format.setIndent("         "); //setIndent是设置分隔附的意思,一般都是用空格,就是当你新节点后,自动换行并缩进,有层次感,如果这样写setIndent(""),就只有换行功能,而不会缩进了,如果写成setIndent(null),这样就即不换行也不缩进,全部以一行显示了,默认的就是这样的效果,不好看。      
  5. out = new XMLOutputter(format);       
  6. out.output(xmlDoc, new FileOutputStream("xml文件路径"));  

完整的JDOM创建XML文件代码如下:
 

  1. package com.star.jdbc;   
  2.  
  3. import java.io.FileOutputStream;   
  4.  
  5. import org.jdom.Document;   
  6. import org.jdom.Element;   
  7. import org.jdom.Namespace;   
  8. import org.jdom.Text;   
  9. import org.jdom.output.Format;   
  10. import org.jdom.output.XMLOutputter;   
  11.  
  12. import junit.framework.TestCase;   
  13.  
  14. public class TestXML extends TestCase {   
  15.       
  16.   public void testCreate(){   
  17.     try{   
  18.       Document doc = new Document();   
  19.           
  20.       Namespace ns = Namespace.getNamespace("http://www.bromon.org");   
  21.       Namespace ns2 = Namespace.getNamespace("other""http://www.w3c.org");   
  22.           
  23.       Element root = new Element("根元素", ns);   
  24.       root.addNamespaceDeclaration(ns2);   
  25.       doc.setRootElement(root);   
  26.           
  27.       Element el1 = new Element("元素一");   
  28.       el1.setAttribute("属性""属性一");   
  29.       Text text1 = new Text("元素值");   
  30.           
  31.       Element em = new Element("元素二").addContent("第二个元素");   
  32.       el1.addContent(text1);   
  33.       el1.addContent(em);   
  34.           
  35.       Element el2 = new Element("元素三").addContent("第三个元素");   
  36.           
  37.       root.addContent(el1);   
  38.       root.addContent(el2);   
  39.           
  40.       XMLOutputter outputter = null;   
  41.       Format format = Format.getCompactFormat();   
  42.       format.setEncoding("GB2312");   
  43.       format.setIndent("    ");   
  44.       outputter = new XMLOutputter(format);   
  45.           
  46.       outputter.output(doc, new FileOutputStream("C:\\a.xml"));   
  47.     }catch(Exception e){   
  48.       e.printStackTrace();   
  49.     }   
  50.   }   

更多模板/案例展示

亚太盛典国际婚纱摄影 本案例由亚太盛典国际婚纱公司所部署,精美的界面,合理的布局是网站的一大特色!
亚太盛典国际婚纱摄影 本案例由亚太盛典国际婚纱公司所部署,精美的界面,合理的布局是网站的一大特色!

热门推荐

关于我们 | 联系我们 | 团队日志 | 网站地图 | 网站合作