Partager via


XStreamingElement.Save Méthode

Définition

Sérialiser cet élément de diffusion en continu. La sortie peut être enregistrée vers un fichier, un XmlTextWriter, un TextWriter ou un XmlWriter. Éventuellement, la mise en forme (mise en retrait) peut être désactivée.

Surcharges

Save(Stream)

Renvoie ce XStreamingElement vers le Stream spécifié.

Save(TextWriter)

Sérialiser cet élément de diffusion en continu vers un TextWriter.

Save(String)

Sérialiser cet élément de diffusion en continu vers un fichier.

Save(XmlWriter)

Sérialiser cet élément de diffusion en continu vers un XmlWriter.

Save(Stream, SaveOptions)

Génère ce XStreamingElement vers le Stream spécifié, en précisant le cas échéant le comportement de mise en forme.

Save(TextWriter, SaveOptions)

Sérialiser cet élément de diffusion en continu vers un TextWriter, en désactivant éventuellement la mise en forme.

Save(String, SaveOptions)

Sérialiser cet élément de diffusion en continu vers un fichier, en désactivant éventuellement la mise en forme.

Save(Stream)

Renvoie ce XStreamingElement vers le Stream spécifié.

public:
 void Save(System::IO::Stream ^ stream);
public void Save (System.IO.Stream stream);
member this.Save : System.IO.Stream -> unit
Public Sub Save (stream As Stream)

Paramètres

stream
Stream

Flux vers lequel générer ce XDocument.

Remarques

Le code XML sérialisé est mis en retrait. Tous les espaces blancs non significatifs seront supprimés et des espaces blancs supplémentaires seront ajoutés afin que le code XML soit correctement mis en retrait. Le comportement de cette méthode est que l’espace blanc non significatif ne sera pas conservé.

Si vous souhaitez contrôler l’espace blanc, utilisez la surcharge de Save ce SaveOptions paramètre. Utilisez l’option pour enregistrer le DisableFormatting code XML unindenté. Cela entraîne l’écriture de tous les espaces blancs exactement comme représenté dans l’arborescence XML.

Utilisez OmitDuplicateNamespaces l’option si vous souhaitez supprimer les déclarations d’espace de noms en double.

S’applique à

Save(TextWriter)

Sérialiser cet élément de diffusion en continu vers un TextWriter.

public:
 void Save(System::IO::TextWriter ^ textWriter);
public void Save (System.IO.TextWriter textWriter);
member this.Save : System.IO.TextWriter -> unit
Public Sub Save (textWriter As TextWriter)

Paramètres

textWriter
TextWriter

TextWriter dans lequel le XStreamingElement sera écrit.

Exemples

L’exemple suivant crée une arborescence XML source, puis instancie une XStreamingElement requête sur l’arborescence XML source. Il écrit ensuite l’élément de diffusion en continu dans un StringWriter.

XElement srcTree = new XElement("Root",  
                       new XElement("Child", 1),  
                       new XElement("Child", 2),  
                       new XElement("Child", 3),  
                       new XElement("Child", 4),  
                       new XElement("Child", 5)  
                   );  

XStreamingElement dstTree = new XStreamingElement("NewRoot",  
                        from el in srcTree.Elements()  
                        where (int)el >= 3  
                        select new XElement("DifferentChild", (int)el)  
                    );  

StringBuilder sb = new StringBuilder();  
dstTree.Save(new StringWriter(sb));  
Console.WriteLine(sb.ToString());  
Dim srcTree As XElement = _  
    <Root>  
        <Child>1</Child>  
        <Child>2</Child>  
        <Child>3</Child>  
        <Child>4</Child>  
        <Child>5</Child>  
    </Root>  

Dim dstTree As XStreamingElement = New XStreamingElement("NewRoot", _  
                        From el In srcTree.Elements() _  
                        Where el.Value >= 3 _  
                        Select <DifferentChild><%= el.Value %></DifferentChild> _  
                    )  

Dim sb As StringBuilder = New StringBuilder()  
dstTree.Save(New StringWriter(sb))  
Console.WriteLine(sb.ToString())  

Cet exemple produit la sortie suivante :

<?xml version="1.0" encoding="utf-16"?>  
<NewRoot>  
  <DifferentChild>3</DifferentChild>  
  <DifferentChild>4</DifferentChild>  
  <DifferentChild>5</DifferentChild>  
</NewRoot>  

Remarques

Le code XML sérialisé est mis en retrait. Tous les espaces blancs non significatifs seront supprimés et des espaces blancs supplémentaires seront ajoutés afin que le code XML soit correctement mis en retrait. Le comportement de cette méthode est que les nœuds d’espace blanc non significatifs dans l’arborescence XML ne seront pas conservés.

Si vous souhaitez contrôler l’espace blanc, utilisez l’une des surcharges de Save ce SaveOptions paramètre. Pour plus d’informations, consultez Conserver l’espace blanc lors du chargement ou de l’analyse du code XML et conserver l’espace blanc lors de la sérialisation.

Voir aussi

S’applique à

Save(String)

Sérialiser cet élément de diffusion en continu vers un fichier.

public:
 void Save(System::String ^ fileName);
public void Save (string fileName);
member this.Save : string -> unit
Public Sub Save (fileName As String)

Paramètres

fileName
String

String qui contient le nom du fichier.

Exemples

L’exemple suivant crée une arborescence XML de streaming. Il sérialise ensuite l’arborescence XML de streaming dans un fichier.

XElement srcTree = new XElement("Root",  
                       new XElement("Child", 1),  
                       new XElement("Child", 2),  
                       new XElement("Child", 3),  
                       new XElement("Child", 4),  
                       new XElement("Child", 5)  
                   );  

XStreamingElement dstTree = new XStreamingElement("NewRoot",  
                        from el in srcTree.Elements()  
                        where (int)el >= 3  
                        select new XElement("DifferentChild", (int)el)  
                    );  

dstTree.Save("Test.xml");  
Console.WriteLine(File.ReadAllText("Test.xml"));  
Dim srcTree As XElement = _  
    <Root>  
        <Child>1</Child>  
        <Child>2</Child>  
        <Child>3</Child>  
        <Child>4</Child>  
        <Child>5</Child>  
    </Root>  

Dim dstTree As XStreamingElement = New XStreamingElement("NewRoot", _  
                        From el In srcTree.Elements() _  
                        Where el.Value >= 3 _  
                        Select <DifferentChild><%= el.Value %></DifferentChild> _  
                    )  

dstTree.Save("Test.xml")  
Console.WriteLine(File.ReadAllText("Test.xml"))  

Cet exemple produit la sortie suivante :

<?xml version="1.0" encoding="utf-8"?>  
<NewRoot>  
  <DifferentChild>3</DifferentChild>  
  <DifferentChild>4</DifferentChild>  
  <DifferentChild>5</DifferentChild>  
</NewRoot>  

Remarques

Le code XML sérialisé est mis en retrait. Tous les espaces blancs non significatifs seront supprimés et des espaces blancs supplémentaires seront ajoutés afin que le code XML soit correctement mis en retrait. Le comportement de cette méthode est que les nœuds d’espace blanc non significatifs dans l’arborescence XML ne seront pas conservés.

Si vous souhaitez contrôler l’espace blanc, utilisez l’une des surcharges de Save ce SaveOptions paramètre. Pour plus d’informations, consultez Conserver l’espace blanc lors du chargement ou de l’analyse du code XML et conserver l’espace blanc lors de la sérialisation.

Voir aussi

S’applique à

Save(XmlWriter)

Sérialiser cet élément de diffusion en continu vers un XmlWriter.

public:
 void Save(System::Xml::XmlWriter ^ writer);
public void Save (System.Xml.XmlWriter writer);
member this.Save : System.Xml.XmlWriter -> unit
Public Sub Save (writer As XmlWriter)

Paramètres

writer
XmlWriter

XmlWriter dans lequel le XElement sera écrit.

Exemples

L’exemple suivant crée un XStreamingElement fichier et l’écrit dans un XmlWriter.

XElement srcTree = new XElement("Root",  
                       new XElement("Child", 1),  
                       new XElement("Child", 2),  
                       new XElement("Child", 3),  
                       new XElement("Child", 4),  
                       new XElement("Child", 5)  
                   );  

StringBuilder sb = new StringBuilder();  
XmlWriterSettings xws = new XmlWriterSettings();  
xws.OmitXmlDeclaration = true;  
using (XmlWriter xw = XmlWriter.Create(sb, xws))  
{  
    XStreamingElement dstTree = new XStreamingElement("NewRoot",  
                            from el in srcTree.Elements()  
                            where (int)el == 5  
                            select new XElement("DifferentChild", (int)el)  
                        );  

    dstTree.Save(xw);  
}  
Console.WriteLine(sb.ToString());  
Dim srcTree As XElement = _  
    <Root>  
        <Child>1</Child>  
        <Child>2</Child>  
        <Child>3</Child>  
        <Child>4</Child>  
        <Child>5</Child>  
    </Root>  

Dim sb As StringBuilder = New StringBuilder()  
Dim xws As XmlWriterSettings = New XmlWriterSettings()  
xws.OmitXmlDeclaration = True  
Using xw As XmlWriter = XmlWriter.Create(sb, xws)  
    Dim dstTree As XStreamingElement = New XStreamingElement("NewRoot", _  
                            From el In srcTree.Elements() _  
                            Where el.Value = 5 _  
                            Select <DifferentChild><%= el.Value %></DifferentChild> _  
                        )  
    dstTree.Save(xw)  
End Using  
Console.WriteLine(sb.ToString())  

Cet exemple produit la sortie suivante :

<NewRoot><DifferentChild>5</DifferentChild></NewRoot>  

Voir aussi

S’applique à

Save(Stream, SaveOptions)

Génère ce XStreamingElement vers le Stream spécifié, en précisant le cas échéant le comportement de mise en forme.

public:
 void Save(System::IO::Stream ^ stream, System::Xml::Linq::SaveOptions options);
public void Save (System.IO.Stream stream, System.Xml.Linq.SaveOptions options);
member this.Save : System.IO.Stream * System.Xml.Linq.SaveOptions -> unit
Public Sub Save (stream As Stream, options As SaveOptions)

Paramètres

stream
Stream

Flux vers lequel générer ce XDocument.

options
SaveOptions

Objet SaveOptions qui spécifie le comportement de mise en forme.

Remarques

Par défaut, la options valeur Noneest définie sur . Cette option supprime tous les espaces blancs non significatifs extranes et ajoute un espace blanc non significatif approprié afin que le code XML soit correctement mis en retrait.

Si vous souhaitez enregistrer le code XML unindenté, spécifiez l’indicateur DisableFormatting pour options. Cela entraîne l’écriture de tous les espaces blancs exactement comme représenté dans l’arborescence XML.

Utilisez OmitDuplicateNamespaces l’option si vous souhaitez supprimer les déclarations d’espace de noms en double.

S’applique à

Save(TextWriter, SaveOptions)

Sérialiser cet élément de diffusion en continu vers un TextWriter, en désactivant éventuellement la mise en forme.

public:
 void Save(System::IO::TextWriter ^ textWriter, System::Xml::Linq::SaveOptions options);
public void Save (System.IO.TextWriter textWriter, System.Xml.Linq.SaveOptions options);
member this.Save : System.IO.TextWriter * System.Xml.Linq.SaveOptions -> unit
Public Sub Save (textWriter As TextWriter, options As SaveOptions)

Paramètres

textWriter
TextWriter

TextWriter vers lequel exporter le code XML.

options
SaveOptions

SaveOptions qui spécifie le comportement de mise en forme.

Exemples

L’exemple suivant montre deux utilisations de cette méthode. La première utilisation conserve l’espace blanc. La deuxième sérialise la XStreamingElement mise en forme.

XElement srcTree = new XElement("Root",  
                       new XElement("Child", 1),  
                       new XElement("Child", 2),  
                       new XElement("Child", 3),  
                       new XElement("Child", 4),  
                       new XElement("Child", 5)  
                   );  

XStreamingElement dstTree = new XStreamingElement("NewRoot",  
                        from el in srcTree.Elements()  
                        where (int)el == 3  
                        select new XElement("DifferentChild", (int)el)  
                    );  

StringBuilder sb = new StringBuilder();  
dstTree.Save(new StringWriter(sb), SaveOptions.DisableFormatting);  
Console.WriteLine(sb.ToString());  
Console.WriteLine("------");  
sb = new StringBuilder();  
dstTree.Save(new StringWriter(sb), SaveOptions.None);  
Console.WriteLine(sb.ToString());  
Dim srcTree As XElement = _  
    <Root>  
        <Child>1</Child>  
        <Child>2</Child>  
        <Child>3</Child>  
        <Child>4</Child>  
        <Child>5</Child>  
    </Root>  

Dim dstTree As XStreamingElement = New XStreamingElement("NewRoot", _  
                        From el In srcTree.Elements() _  
                        Where el.Value = 3 _  
                        Select <DifferentChild><%= el.Value %></DifferentChild> _  
                    )  

Dim sb As StringBuilder = New StringBuilder()  
dstTree.Save(New StringWriter(sb), SaveOptions.DisableFormatting)  
Console.WriteLine(sb.ToString())  
Console.WriteLine("------")  
sb = New StringBuilder()  
dstTree.Save(New StringWriter(sb), SaveOptions.None)  
Console.WriteLine(sb.ToString())  

Cet exemple produit la sortie suivante :

<?xml version="1.0" encoding="utf-16"?><NewRoot><DifferentChild>3</DifferentChild></NewRoot>  
------  
<?xml version="1.0" encoding="utf-16"?>  
<NewRoot>  
  <DifferentChild>3</DifferentChild>  
</NewRoot>  

Remarques

Si vous souhaitez enregistrer le code XML unindenté, spécifiez l’indicateur DisableFormatting pour options. Cela entraîne l’écriture de tous les espaces blancs exactement comme représenté dans l’arborescence XML.

Si vous souhaitez enregistrer le code XML mis en retrait, ne spécifiez pas l’indicateur DisableFormatting pour options. Cela supprime tous les espaces blancs non significatifs extranes et ajoute un espace blanc non significatif approprié afin que le code XML soit correctement mis en retrait. Il s’agit du comportement par défaut et du comportement des surcharges des Save méthodes qui ne prennent options pas en tant que paramètre.

Pour plus d’informations, consultez Conserver l’espace blanc lors du chargement ou de l’analyse du code XML et conserver l’espace blanc lors de la sérialisation.

Voir aussi

S’applique à

Save(String, SaveOptions)

Sérialiser cet élément de diffusion en continu vers un fichier, en désactivant éventuellement la mise en forme.

public:
 void Save(System::String ^ fileName, System::Xml::Linq::SaveOptions options);
public void Save (string fileName, System.Xml.Linq.SaveOptions options);
member this.Save : string * System.Xml.Linq.SaveOptions -> unit
Public Sub Save (fileName As String, options As SaveOptions)

Paramètres

fileName
String

String qui contient le nom du fichier.

options
SaveOptions

Objet SaveOptions qui spécifie le comportement de mise en forme.

Exemples

L’exemple suivant montre deux utilisations de cette méthode. La première utilisation conserve l’espace blanc. La deuxième sérialise la XStreamingElement mise en forme.

XElement srcTree = new XElement("Root",  
                       new XElement("Child", 1),  
                       new XElement("Child", 2),  
                       new XElement("Child", 3),  
                       new XElement("Child", 4),  
                       new XElement("Child", 5)  
                   );  

XStreamingElement dstTree = new XStreamingElement("NewRoot",  
                        from el in srcTree.Elements()  
                        where (int)el == 3  
                        select new XElement("DifferentChild", (int)el)  
                    );  

dstTree.Save("Test1.xml", SaveOptions.DisableFormatting);  
dstTree.Save("Test2.xml", SaveOptions.None);  
Console.WriteLine(File.ReadAllText("Test1.xml"));  
Console.WriteLine("------");  
Console.WriteLine(File.ReadAllText("Test2.xml"));  
Dim srcTree As XElement = _  
    <Root>  
        <Child>1</Child>  
        <Child>2</Child>  
        <Child>3</Child>  
        <Child>4</Child>  
        <Child>5</Child>  
    </Root>  

Dim dstTree As XStreamingElement = New XStreamingElement("NewRoot", _  
                        From el In srcTree.Elements() _  
                        Where el.Value = 3 _  
                        Select <DifferentChild><%= el.Value %></DifferentChild> _  
                    )  

dstTree.Save("Test1.xml", SaveOptions.DisableFormatting)  
dstTree.Save("Test2.xml", SaveOptions.None)  
Console.WriteLine(File.ReadAllText("Test1.xml"))  
Console.WriteLine("------")  
Console.WriteLine(File.ReadAllText("Test2.xml"))  

Cet exemple produit la sortie suivante :

<?xml version="1.0" encoding="utf-8"?><NewRoot><DifferentChild>3</DifferentChild></NewRoot>  
------  
<?xml version="1.0" encoding="utf-8"?>  
<NewRoot>  
  <DifferentChild>3</DifferentChild>  
</NewRoot>  

Remarques

Si vous souhaitez enregistrer le code XML unindenté, spécifiez l’indicateur DisableFormatting pour options. Cela entraîne l’écriture de tous les espaces blancs exactement comme représenté dans l’arborescence XML.

Si vous souhaitez enregistrer le code XML mis en retrait, ne spécifiez pas l’indicateur DisableFormatting pour options. Cela supprime tous les espaces blancs non significatifs extranes et ajoute un espace blanc non significatif approprié afin que le code XML soit correctement mis en retrait. Il s’agit du comportement par défaut et du comportement des surcharges des Save méthodes qui ne prennent options pas en tant que paramètre.

Pour plus d’informations, consultez Conserver l’espace blanc lors du chargement ou de l’analyse du code XML et conserver l’espace blanc lors de la sérialisation.

Voir aussi

S’applique à