用户名:
密 码: 记住
您当前的位置:首页 > 网络编程 > php教程

XmlDocument创建对象时, 产生 xmlns="" 的解决方案

时间:2015-01-23  来源:西部数据  作者:西部数据

今天做开发时碰到的XmlDocument 创建对象时,产生 xmlns=\"\" 的,经过分析总结了问题所在,有需要朋友参考一下,可能能帮助你解决这个问题.

1.读取时,应该添加NameSpace,代码如下:

  1. var exclDef = excl.SelectSingleNode(@"ns:worksheet/ns:sheetData", excl.GetNameSpaceManager("ns"));        
  2.  public static XmlNamespaceManager GetNameSpaceManager(this XmlDocument xml, string NameSpace)         
  3. {             
  4. 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");

来顶一下
返回首页
返回首页
推荐资讯
WiFi太不安全:7岁女孩11分钟内入侵公共网络 WiFi太不安全:7岁女孩11分钟内入侵近期刚刚发布研究说WiFi网络能获得人们手机里多少私人信息,
不服跑个分?人工智能也出现“刷分”乱象 不服跑个分?人工智能也出现“刷分2014年,人工智能领域突然爆发,成为了科研和科技创业的热门
相关文章
    无相关信息
栏目更新
栏目热门