博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
移除“xmlns”命名空间
阅读量:7066 次
发布时间:2019-06-28

本文共 1429 字,大约阅读时间需要 4 分钟。

用XmlDocument创建一个文档,或者插入一个节点,默认会生成xmlns(命名空间)特性。

假定有一个xml文档如下结构:

http://www.myWebSite.com/
http://www.myWebSite.com/MGID_17
http://www.myWebSite.com/MGID_18

现在要在urlset插入一个url节点,结果如下:

…………………………
New Value Here

C#代码如下:

XmlDocument doc = new XmlDocument();            doc.Load("XMLFile1.xml");            XmlElement newEle = doc.CreateElement("url");            XmlElement subEle = doc.CreateElement("loc");            subEle.InnerText = "New Value Here";            newEle.AppendChild(subEle);            doc.DocumentElement.AppendChild(newEle);            doc.Save("d:\\try.xml");

结果会在url节点加上"xmlns",非常讨厌吧!

因为默认情况下,创建的Xml节点会自动判断其自身的NameSpace和父节点(比如url插入到urlset,自动判断url的Namespace和父节点的Namespace)是否一致,如果一致那么就不会再添加

因此解决方案是:

XmlDocument doc = new XmlDocument();            doc.Load("XMLFile1.xml");            XmlElement newEle = doc.CreateElement("url",doc.DocumentElement.NamespaceURI);            XmlElement subEle = doc.CreateElement("loc",newEle.NamespaceURI);            subEle.InnerText = "textboxValue";            newEle.AppendChild(subEle);            doc.DocumentElement.AppendChild(newEle);            doc.Save("d:\\try.xml");
结论:插入到哪个父节点,直接用红体字获取自身节点命名空间,然后插入即可。

转载于:https://www.cnblogs.com/ServiceboyNew/p/3350392.html

你可能感兴趣的文章
集合的划分(递归)
查看>>
【笔记】读取properties文件
查看>>
Windows环境下安装 mysql-8.0.11-winx64 遇到的问题解决办法
查看>>
CAD 正在重生成模型然后卡住不动
查看>>
@angular/cli项目构建--Dynamic.Form
查看>>
python cookbook学习笔记[一次完成多个字符串的替换]
查看>>
用LyX写中文幻灯片
查看>>
让虚拟机支持USB HDD 启动
查看>>
八数码问题
查看>>
持续集成之⑤:jenkins结合脚本实现代码自动化部署及一键回滚至上一版本
查看>>
关于malloc的一个未解决的疑问
查看>>
java内存管理机制
查看>>
用R分析时间序列(time series)数据
查看>>
CCF201609-1 最大波动(100分)
查看>>
Vue-devtools 安装浏览器调试
查看>>
postman环境变量的设置
查看>>
百度--买帽子
查看>>
SDWebImage的使用
查看>>
PC端和移动端测试区别
查看>>
TCP/IP中的四元组、五元组、七元组
查看>>