如何从XElement创建的节点中删除空xmlns属性
这是我的代码:
XElement itemsElement = new XElement("Items", string.Empty); //some code parentElement.Add(itemsElement);
之后我得到了这个:
父元素没有任何名称空间。 我该怎么做才能获得没有空命名空间属性的Items
元素?
这都是关于如何处理命名空间的。 下面的代码创建具有不同命名空间的子项:
XNamespace defaultNs = "http://www.tempuri.org/default"; XNamespace otherNs = "http://www.tempuri.org/other"; var root = new XElement(defaultNs + "root"); root.Add(new XAttribute(XNamespace.Xmlns + "otherNs", otherNs)); var parent = new XElement(otherNs + "parent"); root.Add(parent); var child1 = new XElement(otherNs + "child1"); parent.Add(child1); var child2 = new XElement(defaultNs + "child2"); parent.Add(child2); var child3 = new XElement("child3"); parent.Add(child3);
它将生成如下所示的XML:
看看child3
, child3
和child3
之间的区别。 child2
是使用默认命名空间创建的,这可能是你想要的,而child3
就是你现在拥有的。