日期:2014-05-20  浏览次数:20685 次

dom4j创建XML文件问题
最近用dom4j读Excel生成Xml文件,遇见一个问题。No such namespace prefix
找了相关的资料还是不能满足我的需求,请知道的大神指导下!要生成xml格式如下
<p1:SimpleTxPanel bounds="3, 3, 600, 500" layout="{x:Null}" 
xmlns="http://www.eclipse.org/xwt/presentation" 
xmlns:x="http://www.eclipse.org/xwt" 
xmlns:p1="clr-namespace:com.primeton.ibs.tws.spi.ui.panel"
xmlns:u1="clr-namespace:com.primeton.ibs.tws.spi.ui.uibean"
processFile="com.primeton.ibs.ibs4bos.trans.tx08004.TX08004.js" inputType="0" controlName="TranEntity">
<u1:VarStringUIField xmlns:u1="u1" bounds="31,32,600,500" fieldName="GROUP.ID" displayName="# 所属组别/GROUP ID" inputType="3"/>
</p1:SimpleTxPanel>

java代码如下:
Document document = DocumentHelper.createDocument();
Element rootEle = document.addElement("p1:SimpleTxPanel");
rootEle.addAttribute(new QName("xmlns:x"), "http://www.eclipse.org/xwt");
rootEle.addAttribute(new QName("xmlns:p1"),
"clr-namespace:com.primeton.ibs.tws.spi.ui.panel");
rootEle.addAttribute(new QName("xmlns:u1"),
"clr-namespace:com.primeton.ibs.tws.spi.ui.uibean");
rootEle.addAttribute("bounds", "3,3,600,500");
rootEle.addAttribute("processFile",
"com.primeton.ibs.ibs4bos.trans.tx08004.TX08004.js");
rootEle.addAttribute("inputType", "0");
rootEle.addAttribute("controlName", "TranEntity");
Element element = rootEle.addElement("u1:VarStringUIField");


这行代码报错(No such namespace prefix):
Element element = rootEle.addElement("u1:VarStringUIField","ul");之后不报错生成文件多了一行:
xmlns:u1="u1"跟我要的文件不符。
哪位知道请指教下!


------解决方案--------------------
你可以看下这个
我昨天刚自己研究的,希望对你有帮助
http://topic.csdn.net/u/20120619/15/ad6b2642-4b2b-4fd2-88b6-7d7cfa42b237.html?6055
------解决方案--------------------
是不要u1命令空间?以为你要求是加呢。
那把

Java code
newEle.addNamespace("u1", "u1");