2014-12-21
11:31 PM
在Java中我們最常使用的XML解析套件應該就是dom4j了
用起來算是非常便利
我會選擇這個主要也是因為他跟Javascript在解析XML的功能上非常相似
會需要使用這類套件主要就是想取得特定節點的某個值
也就是會使用到Selector中的xpath
而Selector的使用差異可使搜尋效能相差千倍以上
以下兩種各為直接使用文件物件搜尋指定節點的方法
可以看看不同的xpath使用方式會帶來多大的效能差異
// 直接使用document做搜尋 @SuppressWarnings("unchecked") ListrowElements = (List ) xml.getDoc().selectNodes("//report/table/row"); //56674筆資料 //執行時間為160851毫秒
// 使用已知節點路徑 分開多次搜尋 Element tableElement = (Element) xml.getDoc().selectSingleNode("//report/table"); @SuppressWarnings("unchecked") ListrowElements = (List ) tableElement.selectNodes("row"); //56674筆資料 //執行時間為599毫秒
也就是說 我們應該盡量以已知節點做搜尋
而不是從整個dom文件做搜尋
雖然第一種方法程式碼較短
但第二種方法才是最佳的使用方式
很多時候 優雅的程式碼並不一定是最好的方法
各項資料連結
dom4j官方教學
No comments:
Post a Comment