序列化時保留空白字元 (LINQ to XML)
本文章說明如何在序列化 XML 樹狀結構時控制空白字元。
常見的使用情境為讀取縮排的 XML,建立沒有任何空白字元文字節點 (也就是不保留空白字元) 的記憶體內 XML 樹狀結構,在 XML 上執行某些作業,然後再儲存包含縮排的 XML。 當您序列化具有格式的 XML 時,只會保留 XML 樹狀結構中的有效空白字元。 這是 LINQ to XML 的預設行為。
其他常見案例為讀取與修改已經過刻意縮排的 XML。 您可能不想用任何方式變更這個縮排。 在 LINQ to XML 中,如果於載入或剖析 XML 時保留空白字元,並在序列化 XML 時停用格式化,就可以達到這個效果。
XML 樹狀結構序列化方法的空白字元行為
下列 XElement 和 XDocument 類別中的方法會序列化 XML 樹狀結構。 您可以將 XML 樹狀結構序列化至檔案、TextReader 或 XmlReader。 ToString
方法會序列化至字串。
如果此方法不將 SaveOptions 當做引數,該方法會格式化 (縮排) 序列化的 XML。 在此情況下,會宣告 XML 樹狀結構中的所有有效空白字元。
如果此方法採用 SaveOptions 當做引數,您就可以指定該方法不格式化 (縮排) 序列化的 XML。 在此情況下,會保留 XML 樹狀中的所有空白字元。