本文转自:http://hi.baidu.com/yuweiming/item/35496813cc1e9e721009b5e5
在dom4j里,直接在root element上addNamespace是无法成功的,因为是默认的,所以prefix必须给空字符串,结果导致了root的直接子结点都产生了xmlns=""的属性
诸如:
<root xmlns="http://wangf.javaeedev.com">
<blog xmln="">
<aticles>...</aticles>
</blog>
<forum xmlns="">
<topics>...</topics>
</forum>
</root>
的形式,想了很多办法,都不满意,后来在网上发现msxml也存在同样的问题,看着人家的解决思路,豁然开朗,原来由doc生成root时直接指定namespace 的URL 就可以了,诸如:Element root = maindoc.addElement("root", "http://wangf.javaeedev.com")的形式即可