系列第三篇:介紹 `XmlDocument.LoadXml` 直接從字串載入 XML 結構的方法,避免逐節點 `CreateElement` 的繁瑣步驟。
方法概述
- 建立 `XmlDocument` 實例。
- 呼叫 `LoadXml(string xml)` 將完整 XML 字串剖析載入 DOM 樹。
- 呼叫 `Save(path)` 寫入檔案。
關鍵程式碼片段
var doc = new XmlDocument();
doc.LoadXml(
"" +
" " +
" Ma Jin Hu" +
" 239000" +
" Feng Huang Street" +
" Chu Zhou City" +
" ANHUI" +
" " +
" " +
""
);
doc.Save("data.xml");
注意事項
- XML 必須格式正確:單一根元素、標籤正確巢狀關閉、屬性值加引號、特殊字元 (`<`, `>`, `&`, `"`, `'`) 須實體化 (`<`, `>`, `&`, `"`, `'`)。
- 編碼:`LoadXml` 接收 UTF-16 字串 (C# `string` 內部編碼),`Save` 預設輸出 UTF-8。若需指定編碼,使用 `XmlWriter` 配合 `XmlWriterSettings.Encoding`。
- 效能:單次剖析比數百次 `CreateElement`/`AppendChild` 快數倍,且記憶體配置較少。
何時選用 LoadXml?
- XML 結構固定或來自外部範本/資源檔/資料庫欄位。
- 快速原型、測試資料產生。
- 避免手工拼接字串時,可搭配 `XDocument` 函數式建構 (編譯期檢查) 再 `ToString()` 傳給 `LoadXml`。
下一篇
提供完整可執行的 `NO2.cs` 程式碼,並比較三種建立 XML 的方法 (CreateElement、LoadXml、LINQ to XML) 的優缺點與適用場景。