序列化 (LINQ to XML) 時保留空白字元

本文說明如何在序列化 XML 樹狀結構時控制空白字元。

常見的案例是讀取縮排 XML、建立記憶體內部 XML 樹狀結構,而不需任何空白字元文位元組點 (,也就是不保留空白字元) 、對 XML 執行某些作業,然後使用縮排儲存 XML。 當您序列化具有格式的 XML 時,只會保留 XML 樹狀結構中的有效空白字元。 這是LINQ to XML的預設行為。

其他常見案例為讀取與修改已經過刻意縮排的 XML。 您可能不想用任何方式變更這個縮排。 若要在LINQ to XML中執行這項操作,請在載入或剖析 XML 時保留空白字元,並在序列化 XML 時停用格式設定。

序列化 XML 樹狀結構之方法的空白字元行為

下列 XElementXDocument 類別中的方法會序列化 XML 樹狀結構。 您可以將 XML 樹狀結構序列化至檔案、TextReaderXmlReaderToString 方法會序列化至字串。

如果方法不採用 SaveOptions 做為引數,則方法會格式化 (縮排) 序列化 XML。 在此情況下,會宣告 XML 樹狀結構中的所有有效空白字元。

如果此方法採用 SaveOptions 當做引數,您就可以指定該方法不格式化 (縮排) 序列化的 XML。 在此情況下,會保留 XML 樹狀中的所有空白字元。