添加xml节点时会⾃动加上xmlns属性的解决办法
最近⼀次在C#中⽤XMLDocument添加元素,遇到了这样⼀个问题:网络上xml是什么意思
当根节点具有 xmlns 属性时,⽤ XMLDocument 创建⼦元素时如果不指定 xmlns 或指定 xmlns 为 null 时,⼦元素将⾃动具有 xmlns="" 属性,很是烦⼈。
后来发现了问题原因:
当⽗节点具有 xmlns 属性时,⼦节点必须指定 xmlns 属性,仅当⼦节点的 xmnls 属性与⽗节点相同时,⼦节点才不显⽰ xmlns 属性,最终就不会在 .xml ⽂件中显⽰出来。
解决办法:
XmlDocument xd = new XmlDocument();
//注意 CreateElement ⽅法的第⼆个参数。
XmlElement url = xd.CreateElement("url",xd.DocumentElement.NamespaceURI);
注意:在每⼀个下级节点,都要继续指定命名空间,否则仍会出现 xmlns="" 属性。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论