1. 程式人生 > >在java項目中怎樣利用Dom4j解析XML文件獲取數據

在java項目中怎樣利用Dom4j解析XML文件獲取數據

avi conf get 自己 mar dom4j eas localhost b2c

在曾經的學習.net時常常會遇到利用配置文件來解決項目中一些須要常常變換的數據。比方數據庫的連接字符串兒等。這個時候在讀取配置文件的時候。我們一般會用到一個雷configuration,通過這個類來進行直接讀取,能夠說這是程序中直接封裝好的,包含配置文件裏書寫的格式等等。那麽,假設。想要在配置文件裏寫一些其它的數據,直接以XML文件的格式進行書寫。這個時候在後臺怎樣讀取XML文件裏的數據呢?這裏利用Dom4j來解析XML文件裏連接oracle數據庫的xml數據。

在使用之前,首先要在自己的項目中把Dom4j-1.6.1.jar文件包復制到項目中去。

1、創建一個xml文件

<?

xml version="1.0" encoding="UTF-8"?

> <config> <db-info> <driver-name>oracle.jdbc.driver.OracleDriver</driver-name> <url>jdbc:oracle:thin:@localhost:1521:bjpowernode</url> <user-name>drp</user-name> <password>drp</password> </db-info> </config>


2、新建一個用來讀取Xml文件的一個控制臺應用程序

詳細實現例如以下:

import java.io.InputStream;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
public static void main(String[] args) {
		SAXReader reader=new SAXReader();
		//通過獲得當前線程,然後獲取當前的類載入器,來獲取相應的資源
		InputStream in=Thread.currentThread().getContextClassLoader().getResourceAsStream("sys-config.xml");
		try {
			//read之後會返回一個document對象
			Document doc=reader.read(in);//這裏也能夠直接讀取文件reader.read(new File("sys-config.xml"))
			//通過document對象獲取xml文件的節點元素,返回element,通過xpath路徑獲取
			Element driverNameElt=(Element) doc.selectObject("/config/db-info/driver-name");
			Element urlElt=(Element) doc.selectObject("/config/db-info/url");
			Element userNameElt=(Element) doc.selectObject("/config/db-info/user-name");
			Element passwordElt=(Element) doc.selectObject("/config/db-info/password");
		
			//獲取標簽中的值
			String driverName=driverNameElt.getStringValue();
			String url=urlElt.getStringValue();
			String username=userNameElt.getStringValue();
			String password=passwordElt.getStringValue();			
			
		      System.out.println(driverName);
	              System.out.println(url);
                      System.out.println(username);


	              System.out.println(password);
	          } catch (DocumentException e) {	
	   }
}


3、查看效果:

技術分享

4、知識點聯系

在利用Dom4j解析XML過程中,我在獲取節點的時候用到了XPath路徑。這個獲取到的額每個節點都是一個Element類型。因此,我們獲取到節點後能夠對該節點進行操作,增刪改查等操作。

這裏對XML文件的操作,類似於對HTML文檔的操作,整個文件事實上是一個document類型的文檔,裏面的每個元素都是一個Element類型的元素,對它的非常多操作事實上是和操作HTML文檔中的元素是類似的。

在java項目中怎樣利用Dom4j解析XML文件獲取數據