使用 Dom4j 時的 XPath 問題

我們使用 dom4j 時可使用 XPath 來取得特定的 node,如:
List list = document.selectNodes(specificColumnXPath);

此時可能會出現這樣的 Exception:
Exception in thread "main" java.lang.NoClassDefFoundError: org/jaxen/JaxenException
其原因是因為少了 jaxen,下載 jar 檔匯入後應該就可以解決了。

另外如果確定 XPath 正確,selectNodes() 卻一直回傳空值(null)的話,
有可能是因為 xmlns 不是 default 值的關係,相關討論網址如下:
  1. JavaWorld@TW Java論壇- 請教dom4j 的 xpath 問題
  2. 主题:解决dom4j无法解析xml命名空间的问题
關於Dom4j、XPath的教學則可以參考:
  1. http://www.dom4j.org/dom4j-1.6.1/guide.html
  2.  http://www.zvon.org/xxl/XPathTutorial/General/examples.html
關鍵字:dom4j、XPath、jaxen、問題、錯誤、無法使用、xmlns、命名空間
參考資料:
  1. jaxen
  2. 在Dom4j中使用xpath
  3. JavaWorld@TW Java論壇- 請教dom4j 的 xpath 問題
  4. 主题:解决dom4j无法解析xml命名空间的问题
  5. http://www.dom4j.org/dom4j-1.6.1/guide.html
  6. http://www.zvon.org/xxl/XPathTutorial/General/examples.html   

留言

  1. You may also want to look at vtd-xml, which is a more advanced API than DOM4J

    http://vtd-xml.sf.net

    回覆刪除

張貼留言

這個網誌中的熱門文章

【銀行代碼查詢】3碼銀行代碼列表、7碼分行代碼查詢

【台北中壢】國道客運/公車路線(1818,2022,9001,9025)!

【博客來折價券】博客來免費序號e-coupon分享(持續更新)

【Hami Video】影劇/電視/運動館免費體驗/試用序號分享(隨時更新)!

【博客來折價券】25/50/100現領現折+天天簽到換200+OP兩倍換!