在java項目中怎樣利用Dom4j解析XML文件獲取數據
阿新 • • 發佈:2017-05-31
avi conf get 自己 mar dom4j eas localhost b2c
2、新建一個用來讀取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文件獲取數據