Zachowaj odstęp podczas serializacji (LINQ to XML)

W tym artykule opisano sposób kontrolowania białych znaków podczas serializacji drzewa XML.

Typowym scenariuszem jest odczytywanie wciętego kodu XML, tworzenie drzewa XML w pamięci bez żadnych węzłów tekstowych białych znaków (czyli brak zachowania odstępu), wykonywanie niektórych operacji na kodzie XML, a następnie zapisywanie kodu XML przy użyciu wcięcia. Podczas serializacji kodu XML przy użyciu formatowania zachowywane jest tylko znaczne odstępy w drzewie XML. Jest to domyślne zachowanie linQ to XML.

Innym typowym scenariuszem jest odczytywanie i modyfikowanie kodu XML, który został już celowo wcięta. Możesz nie chcieć zmienić tego wcięcia w żaden sposób. Aby to zrobić w linQ to XML, zachowasz białe znaki podczas ładowania lub analizowania kodu XML i wyłączasz formatowanie podczas serializacji kodu XML.

Zachowanie białych znaków metod, które serializują drzewa XML

Następujące metody w klasach XElement i XDocument serializują drzewo XML. Drzewo XML można serializować w pliku, pliku TextReader, lub XmlReader. Metoda ToString serializuje ciąg.

Jeśli metoda nie zostanie uznana SaveOptions za argument, metoda sformatuje (wcięcie) serializowany kod XML. W takim przypadku wszystkie nieistotne białe znaki w drzewie XML są odrzucane.

Jeśli metoda ma wartość SaveOptions argumentu, możesz określić, że metoda nie formatuje (wcięcia) serializowanego kodu XML. W takim przypadku wszystkie białe znaki w drzewie XML są zachowywane.