在用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了。