>  기사  >  php教程  >  XmlDocument创建对象时, 产生 xmlns=

XmlDocument创建对象时, 产生 xmlns=

WBOY
WBOY원래의
2016-06-02 09:14:22847검색

今天做开发时碰到的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");


教程地址:

欢迎转载!但请带上文章地址^^

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.