php专区

 首页 > php专区 > PHP应用 > php函数大全 > XmlDocument 创新对象时, 产生 xmlns="" 的解决方案

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

分享到:
【字体:
导读:
          今天做开发时碰到的XmlDocument 创新对象时, 产生 xmlns= " " 的,经过分析总结了问题所在,有需要朋友参考一下,可能能帮助你解决这个问题。1 读取时,应该添加NameSpace 代码如下复制代码 var

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

分享到:
php array_multisort()函数详解
  php教程 array_multisort()函数详解 函数 bool array_multisort ( array &$arr [, mixed $arg = SORT_ASC [, mixed $arg = SORT_REGULAR [, mixed $...]]] ) 参数说明: 函数对多个数组或多维数组进行排序 第一个参数是数组,随后的每一个参数可能是数组,也可能是下面的排序顺序标志 SORT_ASC - 默认,按升序排列...
php str_replace 输入框回车替换br
在我们用textarea时会发现回车与空格是不可看到的,所以我们利用str_replace函数将php中的\n替换成br就可以了哦。有需要的朋友可以参考。    代码如下 复制代码 function htmtocode($content) {     $content = str_replace("n", " ", str_replace(" ", " ", $content));     return $content; ...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……