使用 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

    回覆刪除

張貼留言

相關文章

這個網誌中的熱門文章

【信用卡排行榜】2021國內外必辦現金回饋信用卡推薦!

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

【玉山U Bear卡】網購3.8%~10%+娛樂12%+icash 10%!

【多益成績】TOEIC多益成績分數查詢、計算標準與換算對照表