Mantenimento dello spazio vuoto durante la serializzazione
In questo argomento viene descritto come controllare lo spazio vuoto durante la serializzazione di una struttura ad albero XML.
In uno scenario comune viene letto il codice XML rientrato, viene creata una struttura ad albero XML in memoria senza nodi di testo di tipo spazio vuoto (ossia senza conservare lo spazio vuoto), vengono eseguite alcune operazioni su XML e quindi l'XML viene salvato senza rientro.Quando si serializza l'XML con la formattazione, nella struttura ad albero XML viene conservato solo lo spazio vuoto significativo.Questo è il comportamento predefinito per LINQ to XML.
In un altro scenario comune viene letto e modificato codice XML che è già stato intenzionalmente rientrato.È possibile che si desideri non modificare questo rientro in alcun modo.In LINQ to XML è possibile ottenere questo risultato conservando lo spazio vuoto durante il caricamento o l'analisi XML e disabilitando la formattazione durante la serializzazione XML.
Comportamento dello spazio vuoto di metodi che serializzano strutture ad albero XML
I metodi seguenti delle classi XElement e XDocument serializzano una struttura ad albero XML.È possibile serializzare una struttura ad albero XML in un file, in un oggetto TextReader o in un oggetto XmlReader.Il metodo ToString consente di eseguire la serializzazione in una stringa.
Se il metodo non accetta SaveOptions come argomento, formatterà il codice XML serializzato, ovvero ne imposterà il rientro.In questo caso tutto lo spazio vuoto non significativo nella struttura ad albero XML verrà ignorato.
Se il metodo accetta SaveOptions come argomento, è possibile specificare di non formattare il codice XML serializzato, ovvero il metodo non ne imposterà il rientro.In questo caso tutto lo spazio vuoto nella struttura ad albero XML verrà mantenuto.