1

我正在使用System.Xml.NET 框架的命名空间。我知道如何创建一个普通节点

Dim doc = new XmlDocument()
doc.createNode(xmlNodeType.Element, "node")

结果是:<node> 但我似乎找不到创建“自闭”节点的方法()

可能吗?

4

1 回答 1

3

首先,有一些专门的方法CreateElement可以为您创建元素。

其次,CreateNode(or CreateElement) 的结果是一个没有附加到任何东西的节点。您需要将其附加到文档中。

Dim doc = new XmlDocument()
Dim element = doc.CreateElement("node")
doc.AppendChild(element)

Console.WriteLine(doc.OuterXml)

然后它会打印,如您所料:

<node />

请注意,节点“自闭”绝不是坏习惯。事实上,当一个节点没有子节点时,你可以用以下两种方式之一来编写它:

<node></node>
<node />

出于所有目的和意图,两者之间没有区别。


命名空间中还有更新的XDocument类和朋友。System.Xml.Linq您可能会发现它们更易于使用:

Dim doc = new XDocument()
doc.Add(new XElement("node"))

Console.WriteLine(doc)
于 2013-04-18T13:46:29.797 回答