系列第二篇:提供使用 `XmlDocument.CreateElement`/`CreateTextNode` 逐節點建立 XML 的完整主控台程式碼 (NO1.cs)。
using System;
using System.Xml;
class MainClass
{
XmlDocument xmlDoc;
XmlNode xmlNode;
XmlElement xmlElem;
XmlElement xmlElem2;
XmlText xmlText;
static void Main(string[] args)
{
new MainClass();
Console.ReadLine();
}
public MainClass()
{
xmlDoc = new XmlDocument();
// 1. XML 宣告
xmlNode = xmlDoc.CreateNode(XmlNodeType.XmlDeclaration, "", "");
xmlDoc.AppendChild(xmlNode);
// 2. 根元素
xmlElem = xmlDoc.CreateElement("", "ROOT", "");
xmlText = xmlDoc.CreateTextNode("Root Text");
xmlElem.AppendChild(xmlText);
xmlDoc.AppendChild(xmlElem);
// 3. 子元素
xmlElem2 = xmlDoc.CreateElement("", "SampleElement", "");
xmlText = xmlDoc.CreateTextNode("The text of the sample element");
xmlElem2.AppendChild(xmlText);
xmlDoc.ChildNodes[1].AppendChild(xmlElem2); // 根元素為 ChildNodes[1] (索引 0 為宣告)
// 4. 儲存
try
{
xmlDoc.Save(@"c:\data.xml");
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
}
}
| 任務 | XmlDocument 方法 | 回傳型別 |
|---|---|---|
| 建立 XML 宣告 | CreateNode(XmlNodeType.XmlDeclaration, "", "") | XmlNode |
| 建立元素 | CreateElement(prefix, localName, ns) | XmlElement |
| 建立文字節點 | CreateTextNode(text) | XmlText |
| 附加子節點 | parent.AppendChild(child) | XmlNode |
| 儲存檔案 | Save(path/Stream/Writer) | void |
介紹更簡潔的 `LoadXml` 字串載入法,並比較兩種建立方式的優缺點。