XStreamingElement.Save Método

Definição

Serialize esse elemento de streaming. A saída pode ser salva em um arquivo, um XmlTextWriter, um TextWriterou um XmlWriter. Opcionalmente, a formatação (recuo) pode ser desabilitada.

Sobrecargas

Nome Description
Save(Stream)

Gera isso XStreamingElement para o especificado Stream.

Save(TextWriter)

Serialize esse elemento de streaming para um TextWriter.

Save(String)

Serialize esse elemento de streaming em um arquivo.

Save(XmlWriter)

Serialize esse elemento de streaming para um XmlWriter.

Save(Stream, SaveOptions)

Gera isso XStreamingElement para o comportamento de formatação especificado Stream, opcionalmente.

Save(TextWriter, SaveOptions)

Serialize esse elemento de streaming para um TextWriter, opcionalmente desabilitando a formatação.

Save(String, SaveOptions)

Serialize esse elemento de streaming em um arquivo, opcionalmente desabilitando a formatação.

Save(Stream)

Gera isso XStreamingElement para o especificado Stream.

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)

Parâmetros

stream
Stream

O fluxo para o qual isso será XDocument gerado.

Comentários

O XML serializado será recuado. Todo o espaço em branco insignificante será removido e espaço em branco adicional será adicionado para que o XML seja recuado corretamente. O comportamento desse método é que o espaço em branco insignificante não será preservado.

Se você quiser controlar o espaço em branco, use a sobrecarga que Save usa SaveOptions como parâmetro. Use a opção DisableFormatting para salvar XML não recuado. Isso fará com que o gravador escreva todos os espaços em branco exatamente como representados na árvore XML.

Use OmitDuplicateNamespaces a opção se você quiser remover declarações de namespace duplicadas.

Aplica-se a

Save(TextWriter)

Serialize esse elemento de streaming para um 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)

Parâmetros

textWriter
TextWriter

Um TextWriter que o XStreamingElement será escrito para.

Exemplos

O exemplo a seguir cria uma árvore XML de origem e cria uma XStreamingElement instância usando uma consulta na árvore XML de origem. Em seguida, ele grava o elemento de streaming em um 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())

Este exemplo produz a seguinte saída:

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

Comentários

O XML serializado será recuado. Todo o espaço em branco insignificante será removido e espaço em branco adicional será adicionado para que o XML seja recuado corretamente. O comportamento desse método é que nós de espaço em branco insignificantes na árvore XML não serão preservados.

Se você quiser controlar o espaço em branco, use uma das sobrecargas que Save usam SaveOptions como parâmetro. Para obter mais informações, consulte Preservar o espaço em branco ao carregar ou analisar XML e preservar o espaço em branco durante a serialização.

Confira também

Aplica-se a

Save(String)

Serialize esse elemento de streaming em um arquivo.

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

Parâmetros

fileName
String

Um String que contém o nome do arquivo.

Exemplos

O exemplo a seguir cria uma árvore XML de streaming. Em seguida, serializa a árvore XML de streaming para um arquivo.

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"))

Este exemplo produz a seguinte saída:

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

Comentários

O XML serializado será recuado. Todo o espaço em branco insignificante será removido e espaço em branco adicional será adicionado para que o XML seja recuado corretamente. O comportamento desse método é que nós de espaço em branco insignificantes na árvore XML não serão preservados.

Se você quiser controlar o espaço em branco, use uma das sobrecargas que Save usam SaveOptions como parâmetro. Para obter mais informações, consulte Preservar o espaço em branco ao carregar ou analisar XML e preservar o espaço em branco durante a serialização.

Confira também

Aplica-se a

Save(XmlWriter)

Serialize esse elemento de streaming para um 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)

Parâmetros

writer
XmlWriter

Um XmlWriter que o XElement será escrito para.

Exemplos

O exemplo a seguir cria um XStreamingElement e o grava em um 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())

Este exemplo produz a seguinte saída:

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

Confira também

Aplica-se a

Save(Stream, SaveOptions)

Gera isso XStreamingElement para o comportamento de formatação especificado Stream, opcionalmente.

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)

Parâmetros

stream
Stream

O fluxo para o qual isso será XDocument gerado.

options
SaveOptions

Um SaveOptions objeto que especifica o comportamento de formatação.

Comentários

Por padrão, eles options são definidos como None. Essa opção removerá todo o espaço em branco insignificante e adicionará espaço em branco insignificante apropriado para que o XML seja recuado corretamente.

Se você quiser salvar XML não recuado, especifique o DisableFormatting sinalizador para options. Isso fará com que o gravador escreva todos os espaços em branco exatamente como representados na árvore XML.

Use OmitDuplicateNamespaces a opção se você quiser remover declarações de namespace duplicadas.

Aplica-se a

Save(TextWriter, SaveOptions)

Serialize esse elemento de streaming para um TextWriter, opcionalmente desabilitando a formatação.

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)

Parâmetros

textWriter
TextWriter

A TextWriter saída para a qual o XML será gerado.

options
SaveOptions

Um SaveOptions que especifica o comportamento de formatação.

Exemplos

O exemplo a seguir mostra dois usos desse método. O primeiro uso preserva o espaço em branco. O segundo serializa o XStreamingElement com formatação.

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())

Este exemplo produz a seguinte saída:

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

Comentários

Se você quiser salvar XML não recuado, especifique o DisableFormatting sinalizador para options. Isso fará com que o gravador escreva todo o espaço em branco exatamente como representado na árvore XML.

Se você quiser salvar XML recuado, não especifique o DisableFormatting sinalizador para options. Isso removerá todo o espaço em branco insignificante e adicionará espaço em branco insignificante apropriado para que o XML seja recuado corretamente. Esse é o comportamento padrão e o comportamento das sobrecargas dos Save métodos que não tomam options como parâmetro.

Para obter mais informações, consulte Preservar o espaço em branco ao carregar ou analisar XML e preservar o espaço em branco durante a serialização.

Confira também

Aplica-se a

Save(String, SaveOptions)

Serialize esse elemento de streaming em um arquivo, opcionalmente desabilitando a formatação.

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)

Parâmetros

fileName
String

Um String que contém o nome do arquivo.

options
SaveOptions

Um SaveOptions objeto que especifica o comportamento de formatação.

Exemplos

O exemplo a seguir mostra dois usos desse método. O primeiro uso preserva o espaço em branco. O segundo serializa o XStreamingElement com formatação.

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"))

Este exemplo produz a seguinte saída:

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

Comentários

Se você quiser salvar XML não recuado, especifique o DisableFormatting sinalizador para options. Isso fará com que o gravador escreva todo o espaço em branco exatamente como representado na árvore XML.

Se você quiser salvar XML recuado, não especifique o DisableFormatting sinalizador para options. Isso removerá todo o espaço em branco insignificante e adicionará espaço em branco insignificante apropriado para que o XML seja recuado corretamente. Esse é o comportamento padrão e o comportamento das sobrecargas dos Save métodos que não tomam options como parâmetro.

Para obter mais informações, consulte Preservar o espaço em branco ao carregar ou analisar XML e preservar o espaço em branco durante a serialização.

Confira também

Aplica-se a