在C#中将命名空间添加到xml文档

时间:2010-01-06 19:42:08

标签: c# xml namespaces xml-namespaces xmldocument

我有以下xml

<book>
   <chapter>this is a sample text</chapter>
</book>

并且需要为它添加一个命名空间,就像下面那个

<ns0:book xmlns:ns0="http://mybookurl/sample">
   <chapter>this is a sample text</chapter>
</ns0:book>

我尝试了Greco的建议,但它不起作用。 Creating a specific XML document using namespaces in C#

非常感谢任何帮助!

谢谢

1 个答案:

答案 0 :(得分:0)

您可以通过将Xml加载到XmLDocument中然后找到要添加ns0的每个节点并将XmlNodes的 Prefix 属性设置为“ns0”来执行此操作。

这样的事情:

XmlDocument myDoc = new XmlDocument();
myDoc.LoadXml("my_file.xml");

foreach (XmlNode eachBook in myDoc.GetElementsByTagName("book")) {
    eachBook.Prefix = "ns0";
}

myDoc.Save("my_changed_file.xml");