禁止发表博彩类、私服、色情、赌博、诈骗、违法广告等一切国家法律禁止的内容,一经发现,立即禁言并清空帖子,严重者报公安机关处理!

JDOM创建XML例子

0
回复
327
查看
[复制链接]
发表于 2013-12-31 23:57:51 | 显示全部楼层 |阅读模式
核心提示:
如果不为其设置,将会默认编码为utf-8,并且不会换行等,生成的XML就会不美观,在网上搜索了,原到有采用这样设置编码的:Document doc = new Document(); //内存中已构造好的jdom Document对象 XMLOutput <p>如果不为其设置,将会默认编码为utf-8,并且不会换行等,生成的XML就会不美观,在网上搜索了,原到有采用这样设置编码的(计算机爱好者,学习计算机基础,电脑入门,请到本站http://www.woaidiannao.com,我站同时提供计算机基础知识教程,计算机基础知识试题供大家学习和使用),:Document doc = new Document(); //内存中已构造好的jdom Document对象
XMLOutputter output = new XMLOutputter(2, true, "GB2312"); //2是指缩进2个字符,true表示用换行,--增强可读性
FileOutputStream out = new FileOutputStream(fileName);
output.output(doc, out);这是JDOM1.0以前支持的设置编码方法,以后的版本就没有了,JDOM已经将这一块功能给剥离出来,形成了Format对象,所有的设置都在该类当中处理,如下:XMLOutputter out;     
Format format = Format.getCompactFormat();     
format.setEncoding("gb2312"); //setEncoding就是设置编码了   
format.setIndent("         "); //setIndent是设置分隔附的意思,一般都是用空格,就是当你新节点后,自动换行并缩进,有层次感,如果这样写setIndent(""),就只有换行功能,而不会缩进了,如果写成setIndent(null),这样就即不换行也不缩进,全部以一行显示了,默认的就是这样的效果,不好看。   
out = new XMLOutputter(format);     
out.output(xmlDoc, new FileOutputStream("xml文件路径"));完整的JDOM创建XML文件代码如下:package com.star.jdbc;

import java.io.FileOutputStream;

import org.jdom.Document;
import org.jdom.Element;
import org.jdom.Namespace;
import org.jdom.Text;
import org.jdom.output.Format;
import org.jdom.output.XMLOutputter;

import junit.framework.TestCase;

public class TestXML extends TestCase {
   
  public void testCreate(){
    try{
      Document doc = new Document();
        
      Namespace ns = Namespace.getNamespace("http://www.bromon.org");
      Namespace ns2 = Namespace.getNamespace("other", "http://www.w3c.org");
        
      Element root = new Element("根元素", ns);
      root.addNamespaceDeclaration(ns2);
      doc.setRootElement(root);
        
      Element el1 = new Element("元素一");
      el1.setAttribute("属性", "属性一");
      Text text1 = new Text("元素值");
        
      Element em = new Element("元素二").addContent("第二个元素");
      el1.addContent(text1);
      el1.addContent(em);
        
      Element el2 = new Element("元素三").addContent("第三个元素");
        
      root.addContent(el1);
      root.addContent(el2);
        
      XMLOutputter outputter = null;
      Format format = Format.getCompactFormat();
      format.setEncoding("GB2312");
      format.setIndent("    ");
      outputter = new XMLOutputter(format);
        
      outputter.output(doc, new FileOutputStream("C:a.xml"));
    }catch(Exception e){
      e.printStackTrace();
    }
  }
}本文出自 “gang4415” 博客,http://gang4415.blog.51cto.com/225775/248714
关注官方微信

微信号:大白网

微博:大白网

QQ1群:4731622

QQ2群:4731622

全国服务热线:

QQ24485416

(工作日:周一至周五 9:00-16:00)
大理市
www@dali8.net

手机版-小黑屋- 大理白族|大理乡村旅游网|大理网|大理论坛|白族网|大理旅游网|大理信息网|大理生活网

技术支持:挖主机网络 Powered by大白网© 2006-2025 dalibaizu.com  滇ICP备19004088号 滇公网安备 53290102000530号