Home > php教程 > php手册 > body text

XmlDocument创建对象时, 产生 xmlns=

WBOY
Release: 2016-06-02 09:14:22
Original
846 people have browsed it

今天做开发时碰到的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;         
}
Copy after login

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");


教程地址:

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

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Recommendations
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template