2011年10月17日 星期一

dom4j - java上的xml parser library

最近工作上在用GWT寫網頁
需要寫一個api給client使用並且回傳的東西是xml
原本GWT還有java就有內建很多可以使用
但後來找到一個聽說效能好而且比較不會吃記憶體的工具
那就是dom4j


官網位置:
http://dom4j.sourceforge.net/


用起來大同小異
因為我也只用到產生Element還有搜尋xpath而已



一開始使用上有點不習慣
之前寫c sharp的時後所謂的document已經是已包含了root這個根節點,所以通常不用指定root
但在dom4j裡面document只是代表整份文件裡面除了表頭什麼都沒有
所以你必須自己產生root的根元素, 使用狀況如下


Document document = DocumentHelper.createDocument();
Element rootElement = document.addElement("root"); 


下面是我的其中一個function 這個主要目的是要取得某個節點
如果這個節點不在的話,就自己產生一個
private Element getBookElement(Element rootElemt, String bookid)
{
 Element bookElement = (Element) rootElemt.selectSingleNode("book[@id='"+bookid+"']");
 if(null ==bookElement)
 {
 bookElement = rootElemt.addElement("book");
 bookElement.addAttribute("id", bookid);
 }
 return bookElement;
}

沒有留言: