当我动态往Xml节点中写属性的时候.
我的xml 根节点有行xmlns="XXXXXXXXXXXXXXXX", 当我在动态写子节点的时候,节点是这样的.. <base xmlns="XXXXXXXXXXXXX">
<Item>
<subItem name=""/> </Item>
</base>我用XmlDocument对象的CreateAttribute方法创建子节点添加属性的时候 它会莫名其妙的多出来命名空间(xmlns="").. 如下.
<subItem name="XXX" xmlns=""/>
我不想要这个xmlns 可我翻了msdn 用了好几种方法 XmlElement.SetAttribute(key,value)
创建完后.也不行. 也会多出来这个属性.我把跟节点的xmlns属性去掉后,写出来的子节点就没有.我很奇怪.
问题来了:
我如何能写一个不带xmlns的子节点..在跟节点还保存xmlns的情况下...
我的xml 根节点有行xmlns="XXXXXXXXXXXXXXXX", 当我在动态写子节点的时候,节点是这样的.. <base xmlns="XXXXXXXXXXXXX">
<Item>
<subItem name=""/> </Item>
</base>我用XmlDocument对象的CreateAttribute方法创建子节点添加属性的时候 它会莫名其妙的多出来命名空间(xmlns="").. 如下.
<subItem name="XXX" xmlns=""/>
我不想要这个xmlns 可我翻了msdn 用了好几种方法 XmlElement.SetAttribute(key,value)
创建完后.也不行. 也会多出来这个属性.我把跟节点的xmlns属性去掉后,写出来的子节点就没有.我很奇怪.
问题来了:
我如何能写一个不带xmlns的子节点..在跟节点还保存xmlns的情况下...
doc.Load("e:\\1.xml");XmlNode node = doc.DocumentElement.ChildNodes[0];XmlNode subitem = doc.CreateElement("subitem");XmlAttribute att = doc.CreateAttribute(String.Empty, "name", null);
subitem.Attributes.Append(att);node.InnerXml = subitem.OuterXml;doc.Save("e:\\1.xml");