我想创建一个具有以下结构的dom
。
<CreateImport xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<XmlData>
...other child nodes
</XmlData>
</CreateImport>
我知道如何使用普通的命名空间创建XmlElement
,如
<CreateImport xmlns="http://www.w3.org/2001/XMLSchema-instance">
但现在我的xmlns
前缀为i
,我想以编程方式将其添加到XmlDocument
。
我对XElement
vs XmlElement
感到困惑。前者不能有XmlElement
类型的孩子。
答案 0 :(得分:1)
XDocument
,XElement
等。但是在我看来,它们也可以像XmlDocument
一样用于创建XML文档。在你的情况下,你可以这样写:
XElement root = new XElement("CreateImport", new XAttribute(XNamespace.Xmlns + "i", "http://www.w3.org/2001/XMLSchema-instance"),
new XElement("XmlData",
new XElement("Child1"),
new XElement("Child2")));
您可以使用root.Save("myxml.xml")
将其保存到文件中。这将创建以下XML:
<?xml version="1.0" encoding="utf-8"?>
<CreateImport xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
Content
</CreateImport>
您可以阅读http://msdn.microsoft.com/en-US/library/bb387098.aspx了解更多详情和示例。