`
谷超
  • 浏览: 163956 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

jdom生成xml

    博客分类:
  • Xml
阅读更多

有很多的技术能够操作xml,比如dmo4j,jdom和jdk中自带的api,很多的开源项目的配置文件都是由dom4j进行读取的,比如jboss,hibernate等,对xml文档的读取可以dom读取和sax两种方式,dom的方式是将xml文档一次性读取到内存中,读取的文档大小有限,而sax则是部分读取到内存中,不存在xml文档大而无法读取的情况,但一般对xml文档的读取都是用dom的方式,下面对比了几种操作xml文档的方式:

 

  操作效率 编程复杂程度
jdk api 较快 较复杂
dom4j 简单
jdom 较快 简单

  

无论是那种方式读取xml文档,利用好xpath都是很重要的,能够很方便你的读取

jdom的jar包请去http://www.jdom .org 下载

package test.jdom;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

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

public class writeXML {

	/**
	 * <selects>
	 * 	<select>
	 * 		<id>1</id>
	 * 		<name>hello world</name>
	 * 	</select>
	 * </selects>
	 */
	public static void main(String[] args) {
		Element rootElt=new Element("selects");
		
		Element selectElt=new Element("select");
		
		Element idElt=new Element("id");
		idElt.addContent("1");
		
		Element nameElt=new Element("name");
		nameElt.addContent("hello world");
		
		selectElt.addContent(idElt);
		selectElt.addContent(nameElt);
		
		rootElt.addContent(selectElt);
		
		Document doc=new Document(rootElt);
		
		XMLOutputter out = new XMLOutputter(); 
		out.setFormat(Format.getCompactFormat().setEncoding("GB2312"));
		
		String xmlStr=out.outputString(doc);
		System.out.println(xmlStr);
		
		try {
			out.output(doc,new FileOutputStream("c:/test.xml"));
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}

 

 

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics