前言
最近工作上需要建立具備名稱空間的 XML 文件。
以往對於名稱空間不熟悉,都是以文字方式硬串,沒辦法,因為對 XML 的格式不熟,不過總不是辦法,畢竟這樣的程式太難以理解,而且…,想不到什麼理由,反正就很難看。
所以,這次要調整對應功能時,決定要採用標準的 XML 定義方式進行撰寫,因此就找了資料,發現其實都有還滿容易操作的,但還是整理一下。
Add new Namespace
預期結果,有一個根節點 OrderPush 包含名稱空間 bml 的定義是「http://netlab.gmu.edu/IBML」的路徑,其子節點都有前置詞 bml 說明此節點歸屬於 bml 名稱空間設定。
<OrderPush
xmlns:bml="http://www.pwctw.com">
<bml:Task />
</OrderPush>
步驟一、建立根節點的名稱空間資訊
var objOrderPush =
new XElement("OrderPush",
new XAttribute(XNamespace.Xmlns + "bml", @"http://www.pwctw.com" ));
歩驟二、加入名稱空間前置的子節點
XNamespace ns = "http://www.pwctw.com"; //重要:不是「bml」而是要與根節點的內容一致
var objTask = new XElement(ns + "Task");
objOrderPush.Add(objTask);
這樣就可以建立具備對應名稱空間的 XML 節點了。