標籤:dom4j xml
在以前的學習.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檔案擷取資料