XmlDocument创建对象时, 产生 xmlns=
程序员文章站
2023-12-23 10:14:40
...
今天做开发时碰到的XmlDocument 创建对象时,产生 xmlns="" 的,经过分析总结了问题所在,有需要朋友参考一下,可能能帮助你解决这个问题.
1.读取时,应该添加NameSpace,代码如下:
var exclDef = excl.SelectSingleNode(@"ns:worksheet/ns:sheetData", excl.GetNameSpaceManager("ns")); public static XmlNamespaceManager GetNameSpaceManager(this XmlDocument xml, string NameSpace) { XmlNamespaceManager nsmgr = new XmlNamespaceManager(xml.NameTable); nsmgr.AddNamespace(NameSpace, xml.DocumentElement.NamespaceURI); return nsmgr; }
2.如果创建 节点,没有指明 NamespaceURI,则会生成 xmlns="" ,其原因,参考:
/post_read.asp?BlogID=2524806&PostID=21711977
如果 ABC 三级的 NameSpaceURI 分别是 XYY,那么,生成的 ABC 的 NameSpaceURI分别是 AB空, C 不会生成 NameSpaceURI,因为,C和其父项具有相同的 NameSpaceURI,所以在创建 节点时,为了不出现 NameSpaceURI,请保持和节点父项相同的 NameSpaceURI.
var si = e.OwnerDocument.CreateElement("si", e.NamespaceURI);
e.AppendChild(si);
另外,创新属性时,不要指定 NameSpaceURI,即 生成的 Xml 就没有特定的 NameSpaceURI .var r = excl.CreateAttribute("r");
教程地址:
欢迎转载!但请带上文章地址^^
推荐阅读
-
XmlDocument创建对象时, 产生 xmlns=
-
.net下灰度模式图像在创建Graphics时出现:无法从带有索引像素格式的图像创建graphics对象 问题的解决方案。
-
关于在服务器上运行"new ActiveXObject("Word.Application")"时出现"Automation服务器不能创建对象。"的问题!
-
关于在服务器上运行"new ActiveXObject("Word.Application")"时出现"Automation服务器不能创建对象。"的问题!
-
打印机打印时出现automation服务器不能创建对象怎么办?
-
C#程序编写高质量代码改善的157个建议【10-12】[创建对象时需要考虑是否实现比较器、区别对待==和Equals]
-
汉末时太平道是谁创建的?太平道产生的历史背景是什么?
-
java带参方法的简单示例!以及创建对象时构造方法的同步调用
-
关于Integer 和Double包装类创建对象时的底层解析
-
解决Dojo的Widget在创建ArcGIS的Map对象时出现ID已被Registered的错误