dom4j生成xml时,标签添加命名空间时,子标签也会多一个空字符串的xmlns属性和属性换行

这是代码
效果是这样的
求各位大神不啬赐教!!

把代码放出来,试试看

import java.io.FileWriter;
import java.io.IOException;

import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.Namespace;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;

import mydom4j.MyXmlDocument;

public class MyWebXml implements MyXmlDocument {

@Override
public void createXml(String filename) {
    Document document = DocumentHelper.createDocument() ;
    document.addComment("This is a web.xml") ;
    Element webapp = document.addElement("web-app") ;
    Namespace namespace = Namespace.get("http://java.sun.com/xml/ns/javaee") ;
    webapp.add(namespace) ;
    webapp.addNamespace("xsi", "http://www.w3.org/2001/XMLSchema-instance");
    webapp.addNamespace("schemaLocation", "http://java.sun.com/xml/ns/javaee    http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd") ;
    webapp.addAttribute("version", "3.0") ;

    Element servlet = webapp.addElement("servlet") ;

    Element servletName = servlet.addElement("servlet-name") ;
    servletName.setText("default") ;
    Element servletClass = servlet.addElement("servlet-class") ;
    servletClass.setText("org.apache.catalina.servlets.DefaultServlet") ;
    Element initParam = servlet.addElement("init-param") ;
    Element paramName = initParam.addElement("param-name") ;
    paramName.setText("debug") ;
    Element paramValue = initParam.addElement("param-value") ;
    paramValue.setText("0") ;
    Element bi_initParam = servlet.addElement("init-param") ;
    Element bi_paramName = bi_initParam.addElement("param-name") ;
    bi_paramName.setText("listings") ;
    Element bi_paramValue = bi_initParam.addElement("param-value") ;
    bi_paramValue.setText("false") ;
    Element loadOnStartUp = servlet.addElement("load-on-startup") ;
    loadOnStartUp.setText("1")  ;


    XMLWriter xmlWriter = null ;

    try {
        OutputFormat format = OutputFormat.createPrettyPrint() ;
        format.setIndent(true) ;
        format.setIndent("\t") ;
        format.setLineSeparator("\n") ;

        xmlWriter = new XMLWriter(new FileWriter(filename), format) ;
        xmlWriter.write(document) ;

        System.out.println("生成xml文件完毕!");
    } catch (Exception e) {
        System.err.println("上面有异常!"+e.getMessage());
    } finally {
        try {
            xmlWriter.close() ;
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

}

@Override
public void parseXml(String filename) {

}


public static void main(String[] args) {
    new MyWebXml().createXml("E:/SHFORCE/web.xml") ;
}

}