首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C# 建立與讀取 XML 文件 (二) - CreateElement 逐節點建立法完整程式碼

     編輯:關於C語言

系列第二篇:提供使用 `XmlDocument.CreateElement`/`CreateTextNode` 逐節點建立 XML 的完整主控台程式碼 (NO1.cs)。

完整程式碼 (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);
        }
    }
}

關鍵 API 對照

任務XmlDocument 方法回傳型別
建立 XML 宣告CreateNode(XmlNodeType.XmlDeclaration, "", "")XmlNode
建立元素CreateElement(prefix, localName, ns)XmlElement
建立文字節點CreateTextNode(text)XmlText
附加子節點parent.AppendChild(child)XmlNode
儲存檔案Save(path/Stream/Writer)void

常見陷阱

  1. 索引誤判:`ChildNodes[0]` 為 `XmlDeclaration`,根元素在 `ChildNodes[1]` 或用 `DocumentElement` 直接取得。
  2. 命名空間:`CreateElement` 三參數版可指定 prefix 與 namespace URI,配合 `xmlns` 屬性管理。
  3. 特殊字元:`CreateTextNode` 會自動轉義 `&` `<` `>`,但 `InnerXml` 直接設定則不會。
  4. 格式化:`Save` 預設無縮排;需美觀輸出請用 `XmlTextWriter` 配合 `Formatting.Indented`。

下一篇

介紹更簡潔的 `LoadXml` 字串載入法,並比較兩種建立方式的優缺點。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved