Partager via


Conservation des espaces blancs lors de la sérialisation

Cette rubrique décrit comment contrôler les espaces blancs lors de la sérialisation d'une arborescence XML.

Un scénario courant consiste à lire le code XML mis en retrait, à créer une arborescence XML en mémoire sans nœuds d'espaces (autrement dit, ne pas conserver les espaces), à effectuer certaines opérations sur le code XML, puis à enregistrer le code XML avec mise en retrait. Lorsque vous sérialisez le code XML avec mise en forme, seuls les espaces significatifs dans l'arborescence XML sont conservés. Il s'agit du comportement par défaut pour LINQ to XML.

Un autre scénario courant consiste à lire et à modifier du code XML qui a déjà été intentionnellement mis en retrait. Vous ne souhaiterez peut-être modifier cette mise en retrait en aucune manière. Pour ce faire dans LINQ to XML, vous devez conserver les espaces lorsque vous chargez ou analysez le code XML et que vous désactivez la mise en forme lors de la sérialisation du code XML.

Comportement d'espace blanc des méthodes qui sérialisent des arborescences XML

Les méthodes suivantes dans les classes XElement et XDocument sérialisent une arborescence XML. Vous pouvez sérialiser une arborescence XML vers un fichier, un objet TextReader ou un objet XmlReader. La méthode ToString sérialise vers une chaîne.

Si la méthode ne prend pas l'objet SaveOptions comme argument, elle mettra en forme (en retrait) le code XML sérialisé. Dans ce cas, tous les espaces blancs non significatifs dans l'arborescence XML seront ignorés.

Si la méthode prend l'objet SaveOptions comme argument, vous pouvez spécifier qu'elle ne mettra pas en forme (en retrait) le code XML sérialisé. Dans ce cas, tous les espaces blancs dans l'arborescence XML seront conservés.

Voir aussi

Concepts

Sérialisation d'arborescences XML