我正在使用.NET框架的System.Xml
命名空間。 我知道如何創建一個普通節點與如何創建這種類型的節點:<node />?
Dim doc = new XmlDocument()
doc.createNode(xmlNodeType.Element, "node")
結果是:<node>
但我似乎無法找到一個方法來創建一個「自我封閉」的一個節點()
是有可能嗎?
我正在使用.NET框架的System.Xml
命名空間。 我知道如何創建一個普通節點與如何創建這種類型的節點:<node />?
Dim doc = new XmlDocument()
doc.createNode(xmlNodeType.Element, "node")
結果是:<node>
但我似乎無法找到一個方法來創建一個「自我封閉」的一個節點()
是有可能嗎?
首先,有專門的方法,如CreateElement
,爲您創建元素。
其次,CreateNode
(或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)
非常好的答案非常感謝你! –
你怎麼稱這種類型的節點?它甚至是一個真正的Xml節點類型?或者這是不好的做法? –