使用dom4j写入XML文件时,写入完毕后发现root element中没有 xmlns,也即是没有命名空间。

正确的写法如下:

Document document = DocumentHelper.createDocument();
Element kmlElement = document.addElement(KML_ELEMENT_KML, "http://www.opengis.net/kml/2.2");

一定要在添加根节点时,即为其指定命名空间。其中, KML_ELEMENT_KML 是root element的名称。

注意:不要通过类似 element.addNamspace("",url) 这样的方式或类似下面的写法

Element kmlElement = DocumentHelper.createElement(KML_ELEMENT_KML);
kmlElement.addAttribute(KML_ATTRIBUTE_XMLNS, "http://www.opengis.net/kml/2.2");
Document document = DocumentHelper.createDocument(kmlElement);

来为根element指定缺省的命名空间,这样的做法就会出现生成的xml 根节点命名空间是空的问题。

不过下面的写法仍然是对的(貌似只有xmlns需要注意这一点):

Element root = document.addElement("beans","http://www.springframework.org/schema/beans");
root.addAttribute("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance");
root.addAttribute("xmlns:p", "http://www.springframework.org/schema/p");
root.addAttribute("xsi:schemaLocation", "http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"); 生成xml文件(发现xmlns可以出现了) <beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">

dom4j: 生成的XML文件根节点 xmlns="" 的问题的更多相关文章

  1. 解决创建带有NameSpace的XML文件出现空白xmlns的问题

    为了能够让用户自行部署ClickOnce应用程序,需要编写一个生成ClickOnce应用程序的ClickOnce专用安装程序setup.exe,而生成这个setup.exe的方法就是编写一个XML格式 ...

  2. dom4j加载xml文件

    ## dom4j加载xml文件 ``` // 1. 加载xml文件 InputStream is = MyTest.class.getResourceAsStream("user.xml&q ...

  3. 【Android】使用Pull生成/解析XML文件

    一.生成XML文件,即是将对象集合转为XML文件存储. 对象集合 –> XML(序列化) Android中使用android.util.Xml类对其进行了描述,提供相应的API. 步骤大致如下: ...

  4. java操作xml文件--修改节点

          上一篇文章我介绍了SAX方法解析XML文件的过程,这篇文章讲解的内容是利用DOM方法修改XML文件的节点内容.       下面依然是首先贴出XML文件: <?xml version ...

  5. node使用xml-writer生成本地XML文件实例

    npm中xml-writer文档的链接地址:https://www.npmjs.com/package/xml-writer npm中的文档比较简单,而且生成本地xml文件的demo并不正确.本篇是对 ...

  6. 自动生成build.xml文件

    使用Eclipse 自动生成 Ant的Build.xml 配置文件,选择要生成Build.xml文件的项目,鼠标右键, Export-> General -> Ant Buildfiles ...

  7. 读取xml文件中节点

    /// <summary> /// /// </summary> /// <param name="xmlpath">节点路径</para ...

  8. javascript读取xml文件读取节点数据的例子

    分享下用javascript读取xml文件读取节点数据方法. 读取的节点数据,还有一种情况是读取节点属性数据. <head> <title></title> < ...

  9. C#读取xml文件指定节点下的值

    #region 读取xml文件指定节点下的值 XmlDocument xmlDoc = new XmlDocument(); xmlDoc.LoadXml(result); XmlNode root ...

随机推荐

  1. python模块之keyword

    # -*- coding: utf-8 -*- #python 27 #xiaodeng #python模块之keyword import keyword ''' >>> help( ...

  2. [转]SVN更新的时候前面字母的意思(U、G、A、R、C)

    U:update 表示从服务器收到文件更新了 G:表示本地文件以及服务器文件都已更新,而且成功的合并了 其他的如下: A:added 表示有文件或者目录添加到工作目录 R:replace 表示文件或者 ...

  3. update pm storage

    BEGIN #Routine body goes here... INSERT INTO EMS_PM_STORAGE ( AMOID, GP_BEGIN_TIME, EMS_RECORD_TIME, ...

  4. git 不用clone整个远程仓库,只把特定的commit给fetch下来的方案

    一个麻烦点就是,我需要阅读一个大点的开源项目,远程仓库的代码量太庞大了,如果我需要git reset --hard [commit sha1]感兴趣的commit快照,就首先得git clone整个远 ...

  5. 【php+js】用PHP或者JS怎么显示搜索到的关键字高亮,及其文章里包含关键字的一小段

    1.想要实现的效果: 2.思路:小数据量使用 php的正则替换,即[preg_replace()]函数 -->> 支持多个关键词高亮显示,中间参数1和参数2放入对应的数组即可. $titl ...

  6. Maven Package Plugins And Maven Test

    在使用Maven时候,大家避免不了使用大量插件: 1. maven-compiler-plugin 指定JDK版本和编码方式 ? ?compiler插件能解决2个问题: 第一:指定JDK版本--mav ...

  7. libevent终于编译通过了

    在网上找了个例子,其实libevent本身带了很多测试用例,不过这是第一次编译成功,尼玛 各种高性能IO库都是在linux下的,win32果断被bs了,还好有libevent对win32支持的比较好. ...

  8. zabbix v3.0安装部署

    这篇文章没有写明init的部分要注意 zabbix v3.0安装部署 摘要: 本文的安装过程摘自http://www.ttlsa.com/以及http://b.lifec-inc.com ,和站长凉白 ...

  9. Rust 之 cargo(项目构建和包管理工具)

    如果食用cargo来进行项目构建: 1. 执行 cargo new hello_cargo --bin ,执行完上面的操作之后,我们切换到hell_cargo目录下,可以看到一个文件(Cargo.to ...

  10. ML之监督学习算法之分类算法一 ———— k-近邻算法(最邻近算法)

    一.概述 最近邻规则分类(K-Nearest Neighbor)KNN算法 由Cover 和Hart在1968年提出了最初的邻近算法, 这是一个分类(classification)算法 输入基于实例的 ...