在java項目中如何利用Dom4j解析XML檔案擷取資料

來源:互聯網
上載者:User

標籤: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檔案擷取資料

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.