在用dom4j解析xml時如果報下面這個錯誤:
org.dom4j.DocumentException:   Error   on   line   1   of   document   file:///d:/xxx.xml   :   缺少文件根組件。   Nested   exception:   缺少文件根組件。 
這是因為xml解析器的問題,以前一直在web環境下跑程序,用的是xerces解析器,就不會報上面的錯誤。
但是獨立運行的程序如果用jdk1.4.2和dom4j1.6.1時就回有上面的錯誤,因為用的是jdk自帶的解析器
crimson。

解決辦法就是
用xerces解析器,可以從tomcat中找到xercesImpl.jar和xml-api.jar放到工程中就可以了。
另外在jdk1.5下面也沒有這個問題,應該是jdk1.5自帶的解析器解決了這個問題了。

根本原因是xml含有bom頭導致,就是EF BB BF。

如果報這個錯誤:Content is not allowed in prolog
使用dom4j1.6.1就ok了。