2013-04-18 66 views
1

我正在使用.NET框架的System.Xml命名空間。 我知道如何創建一個普通節點與如何創建這種類型的節點:<node />?

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

結果是:<node> 但我似乎無法找到一個方法來創建一個「自我封閉」的一個節點()

是有可能嗎?

+0

你怎麼稱這種類型的節點?它甚至是一個真正的Xml節點類型?或者這是不好的做法? –

回答

3

首先,有專門的方法,如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) 
+0

非常好的答案非常感謝你! –

相關問題