1. 程式人生 > >在java專案中如何利用Dom4j解析XML檔案獲取資料

在java專案中如何利用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檔案獲取資料

在以前的學習.net時經常會遇到利用配置檔案來解決專案中一些需要經常變換的資料,比如資料庫的連線字串兒等。這個時候在讀取配置檔案的時候,我們通常會用到一個雷configuration,通過這個類來進行

利用dom4j解析xml檔案匯入MySql

#新增pom.xml的依賴架包 因為我的專案是基於Maven管理,有個父pom,所以不用新增版本號 <dependency> <groupId>dom4j</groupId> <ar

Android解析xml檔案獲取資料練習

前幾天單詞app中,已經可以顯示單詞了,對比有道詞典的單詞表,主要是有單詞備註的功能,可以進行聯想記憶,而且程式佔用空間小,沒有太多的通知資訊。 以前使用有道詞典的單詞儲存了一些單詞,有道里的單詞可以匯出到xml檔案中 格式如下 <wordbook><i

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

avi conf get 自己 mar dom4j eas localhost b2c 在曾經的學習.net時常常會遇到利用配置文件來解決項目中一些須要常常變換的數據。比方數據庫的連接字符串兒等。這個時候在讀取配置文件的時候。我們一般會用到一個雷configuratio

java使用dom4j解析xml

() while 9.png eval ted eva har main root 創建xml文檔並輸出到文件 import java.io.File; import java.io.FileOutputStream; import org.dom4j.Documen

javaDOM4J解析XML

1.DOM4J是目前使用非常廣泛的一種解析XML技術,與DOM相比,他的使用更加方便,操作簡單! 2.DOM4J是一個易用的,開源的庫,可以用於XML、XPath、XSLT等。 3.DOM4J的主要介面都在org.dom4j包裡定義。 Attribute:定義XML的屬性

java使用 dom4j解析xml檔案

步驟 1 匯入dom4j  jar包,用Xpath的話吧jaxen包也匯入 2 dom4j具體寫法 xml檔案裡的內容 <?xml version="1.0" encoding="utf-8" ?> <stus> <stu>

JAVA利用dom4j解析xml轉map

dom4j maven依賴 <!-- https://mvnrepository.com/artifact/dom4j/dom4j --> <dependency> <groupId>dom4j</groupI

java基礎-使用dom4j解析XML檔案

一 解析XML 解析過程      /* * 解析XML檔案的基本流程* 1:建立SAXReader,用來讀取XML*   檔案* 2:指定xml檔案使得SAXReader讀取,*   並解析問文件物件Document* 3:獲取根元素* 4:獲取每一個元素,從而達到解析的

Java上傳且後臺解析XML檔案

後臺程式碼: import java.io.BufferedReader; import java.io.ByteArrayInputStream; import java.io.InputStream; import java.io.InputStreamReader; import javax.

1.使用dom4j解析xml檔案,模擬伺服器解析web.xml

1. XML文件的構成 XML文件結構其實與html程式碼結構非常相似。 1. XML文件宣告 文件宣告必須以<?xml 開頭,以?>結束。 文件宣告必須從文件的0行0列開始。 文件宣告只有三個屬性: version:指定XML文件版本,必選,一般使用1.0

dom4j解析xml 檔案 並對其操作

程式碼例項 package cn.test.dom4jtest; import java.io.FileOutputStream; import java.util.List; import org.dom4j.Document; import org.dom4j.DocumentHel

Java用String 擷取方式解析xml檔案、處理大xml檔案

對於小資料返回值直接可採用Document、element的解析方式即可獲得xml節點值。 但對於返回值大於10M的資料,Document解析就顯得吃力甚至出現程式中斷情況。針對返回資料大的xml可採取Java String 分割擷取方式處理。 如下報文返回的是銀行資訊,程式需要獲得Ba

Java專案如何反編譯class檔案及批量反編譯?

前言:            反編譯是一個對目標檔案可執行程式進行逆向分析,從而得到原始碼的過程。尤其是像Java這樣的執行在虛擬機器上的程式語言,更容易進行反編譯得到原始碼。今天介紹幾款反編譯的工具,以及如何更快的批量反編譯。 一、介紹        市面上免費的工具

java專案利用maven打war包,其pom配置

<properties> <jdk.version>1.8</jdk.version> <spring.version>4.1.6.RELEASE</spring.version> <

QT使用QXmlStreamReader解析XML檔案

轉載請註明連結與作者huihui1988 XML檔案由於其擴充套件性與相容性的優點,被廣泛用作軟體和系統的配置檔案。這裡簡要介紹一下QT下如何來解析XML檔案。 原始碼: xml_reader.h #ifndef XML_READER_H #define XML_RE

ERROR:使用dom4j解析xml檔案遇到中文路徑問題

在使用dom4j解析xml檔案的時候,使用以下程式碼來解析含有中文的路徑的時候,會報錯: SAXReader reader=new SAXReader(); Documentdom=reader.read(xmlFile); Element root =dom.getRo

Android使用pull解析xml檔案

Android解析xml檔案的時候,自己推薦是使用pull的方式來解析xml資原始檔,pull方式又有兩種,分別是XmlPullParser和XmlResourceParser兩種。下面來分別介紹。 一: XmlPullParser方式進行佈局解析。

dom4j解析xml檔案的步驟(簡單版)

直接上程式碼: 《xml中 的檔案程式碼》<?xml version="1.0" encoding="UTF-8"?>/index.jsp/index.jsp《解析步驟》public static void parser() throws DocumentExc

使用dom4j解析xml檔案,並封裝為javabean物件

dom4j是一個java的XML api,效能優異、功能強大、易於使用。這裡使用dom4j對xml檔案進行解析,並完成對檔案的封裝。 實現對xml檔案的解析,主要使用到的是dom4j中的SAXReader類,該類的使用方法如下: SAXReader 類 //構造SAXReader SAX