Java 操做XML,JDOM&DOM4J

  JDOM 引入html

JDOM 是一種使用XML(標準通用標記語言下的一個子集) 的獨特Java 工具包,用於快速開發XML 應用
程序。
JDOM 官方網站:http://www.jdom.org/java

  DOM4J 引入dom

dom4j 是一個Java 的XML API,相似於jdom,用來讀寫XML 文件的。dom4j 是一個很是很是優秀的JavaXML
API,具備性能優異、功能強大和極端易用使用的特色,同時它也是一個開放源代碼的軟件,能夠在SourceForge
上找到它。在IBM developerWorks 上面能夠找到一篇文章,對主流的Java XML API 進行的性能、功能和易用性
的評測,dom4j 不管在哪一個方面都是很是出色的。現在你能夠看到愈來愈多的Java 軟件都在使用dom4j 來讀寫
XML,特別值得一提的是連Sun 的JAXM 也在用dom4j。這是必須使用的jar 包, Hibernate 用它來讀寫配置文
件。
DOM4J 官方網站:http://www.dom4j.org/工具

  

package com.zhiqi.test;

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

import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;

public class DOM4JSet {
	
	public static void main(String[] args) {
		Document document=DocumentHelper.createDocument();
		Element studentElement=document.addElement("student");
		studentElement.addAttribute("id", "001");
		studentElement.addAttribute("aa", "xx");
		
		Element name=studentElement.addElement("name");
		name.setText("張三");
		Element sex=studentElement.addElement("sex");
		sex.setText("男");
		Element age=studentElement.addElement("age");
		age.setText("20");
		
		OutputFormat format=OutputFormat.createPrettyPrint();
		format.setEncoding("UTF-8");
		try {
			XMLWriter writer=new XMLWriter(new FileOutputStream("src/student.xml"),format);
			writer.write(document);
			writer.close();
		} catch (UnsupportedEncodingException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}

  解析DOM性能

<?xml version="1.0" encoding="UTF-8"?>
<emps>
<emp empNo="10050">
	<empName>Allen</empName>
	<job>辦事員</job>
	<addr>波士頓</addr>
</emp>
<emp empNo="10060">
	<empName>Smith</empName>
	<job>銷售員</job>
	<addr>紐約</addr>
</emp>
<emp empNo="10070">
	<empName>James</empName>
	<job>技術員</job>
	<addr>北京</addr>
</emp>
</emps>

  

package com.zhiqi.test;

import java.util.Iterator;

import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;

public class DOM4JGet {
	public static void main(String[] args) throws Exception{
		SAXReader saxReader=new SAXReader();
		Document document=saxReader.read("src/emp.xml");
		Element rootElement=document.getRootElement();
		Iterator iter=rootElement.elementIterator();
		while(iter.hasNext()){
			Element empElement=(Element)iter.next();
			System.out.println("編號:"+empElement.attributeValue("empNo"));
			System.out.println("姓名:"+empElement.elementText("empName"));
			System.out.println("職位:"+empElement.elementText("job"));
			System.out.println("地址:"+empElement.elementText("addr"));
			System.out.println("=========");
		}
	}
}
相關文章
相關標籤/搜索