如何在单个节点中构建具有多个xml命名空间的XmlDocument?

时间:2009-06-22 11:03:49

标签: .net xml serialization

我正在尝试构建XmlDocument,以便在序列化后我可以实现像这样的xml:

<?xml version="1.0" encoding="UTF-8"?>
<wnio:element xmlns:wnio="somuri" xmlns:xf="abcd">
   <xf:nestedelement>somtext</xf:nestedelement>
</wnio:element>

事情是XmlElement允许通过NamespaceURI和Prefix属性指定ONLY ONE命名空间。我怎样才能完成这种功能呢?

1 个答案:

答案 0 :(得分:3)

属性“xmlns:wnio”和“xmlns:xf”是任何其他属性。只需将它们添加到您希望这些XML命名空间扩展到的XmlElement中。

以下代码段几乎完全符合您的要求:

XmlDocument document = new XmlDocument();
document.AppendChild(document.CreateElement("wnio", "element", "somuri"));
document.DocumentElement.SetAttribute("xmlns:xf", "abcd");
document.DocumentElement.AppendChild(document.CreateElement("xf", "nestedelement", "abcd"));