我需要使用
Linq到xml来操作一些xml文件.
我有一个我加载的现有XDocument
现在我似乎无法为其添加命名空间.
我做:
//Load an existing xml into a XDocument XDocument xdoc=XDocument.Load(myXml); //Create a namespace XNamespace myNS="http://www.w3.org/2001/XMLSchema-instance/MyShinyNewNamespace"; xAttribute myAttr=new XAttribute(XNamespace.Xmlns +"myNS",myNS); //Add new namepsace to root xdoc.Root ???? What do you do here?
如何检索我的命名空间?
如何删除/替换?
非常感谢
首先,虽然XML标记允许您使用
原文链接:https://www.f2er.com/xml/292371.html<root xmlns="http://example.com/ns"> <foo> <bar>baz</bar> </foo> </root>
使用单个名称空间声明属性将根元素以及那些后代元素放入声明的名称空间中,当您操作树模型时,需要更改所有元素的名称,以便例如
XNamespace myNs = "http://example.com/ns"; foreach (XElement el in xdoc.Descendants()) { el.Name = myNs + el.Name.LocalName; }
如果你还想设置一个特定的前缀pf,那么另外设置
xdoc.Root.Add(new XAttribute(XNamespace.Xmlns + "pf",myNs));