XStreamingElement.Save Método

Definição

Serializa este elemento de streaming. A saída pode ser guardada num ficheiro, num XmlTextWriter, a TextWriter, ou num XmlWriter. Opcionalmente, a formatação (recuação) pode ser desativada.

Sobrecargas

Name Descrição
Save(Stream)

Envia isto XStreamingElement para o especificado Stream.

Save(TextWriter)

Serialize este elemento de streaming para um TextWriter.

Save(String)

Serialize este elemento de streaming para um ficheiro.

Save(XmlWriter)

Serialize este elemento de streaming para um XmlWriter.

Save(Stream, SaveOptions)

Exporta isto XStreamingElement para o especificado Stream, opcionalmente especificando o comportamento de formatação.

Save(TextWriter, SaveOptions)

Serialize este elemento de streaming para um TextWriter, desativando opcionalmente a formatação.

Save(String, SaveOptions)

Serialize este elemento de streaming para um ficheiro, desativando opcionalmente a formatação.

Save(Stream)

Origem:
XStreamingElement.cs
Origem:
XStreamingElement.cs
Origem:
XStreamingElement.cs
Origem:
XStreamingElement.cs
Origem:
XStreamingElement.cs

Envia isto 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 onde enviar isto XDocument .

Observações

O XML serializado será indentado. Todo o espaço em branco insignificante será removido, e será adicionado espaço adicional para que o XML seja devidamente indentado. O comportamento deste método é que espaços em branco insignificantes não serão preservados.

Se quiseres controlar o espaço em branco, usa a sobrecarga de Save isso SaveOptions como parâmetro. Usa a DisableFormatting opção para guardar XML sem indentação. Isto fará com que o escritor escreva todos os espaços em branco exatamente como representados na árvore XML.

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

Aplica-se a

Save(TextWriter)

Origem:
XStreamingElement.cs
Origem:
XStreamingElement.cs
Origem:
XStreamingElement.cs
Origem:
XStreamingElement.cs
Origem:
XStreamingElement.cs

Serialize este 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

A TextWriter que o XStreamingElement testamento será escrito.

Exemplos

O exemplo seguinte cria uma árvore XML de origem, depois instancia uma XStreamingElement usando uma consulta na árvore XML de origem. Depois, escreve o elemento de streaming num 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>

Observações

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

Se quiseres controlar o espaço em branco, usa uma das sobrecargas dessa Save tomada SaveOptions como parâmetro. Para mais informações, consulte Preservar espaço em branco ao carregar ou analisar XML e Preservar espaço em branco durante a serialização.

Ver também

Aplica-se a

Save(String)

Origem:
XStreamingElement.cs
Origem:
XStreamingElement.cs
Origem:
XStreamingElement.cs
Origem:
XStreamingElement.cs
Origem:
XStreamingElement.cs

Serialize este elemento de streaming para um ficheiro.

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

A String que contém o nome do ficheiro.

Exemplos

O exemplo seguinte cria uma árvore XML em streaming. Depois, serializa a árvore XML em streaming para um ficheiro.

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>

Observações

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

Se quiseres controlar o espaço em branco, usa uma das sobrecargas dessa Save tomada SaveOptions como parâmetro. Para mais informações, consulte Preservar espaço em branco ao carregar ou analisar XML e Preservar espaço em branco durante a serialização.

Ver também

Aplica-se a

Save(XmlWriter)

Origem:
XStreamingElement.cs
Origem:
XStreamingElement.cs
Origem:
XStreamingElement.cs
Origem:
XStreamingElement.cs
Origem:
XStreamingElement.cs

Serialize este 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

A XmlWriter que o XElement testamento será escrito.

Exemplos

O exemplo seguinte cria um XStreamingElement e escreve-o num 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>

Ver também

Aplica-se a

Save(Stream, SaveOptions)

Origem:
XStreamingElement.cs
Origem:
XStreamingElement.cs
Origem:
XStreamingElement.cs
Origem:
XStreamingElement.cs
Origem:
XStreamingElement.cs

Exporta isto XStreamingElement para o especificado Stream, opcionalmente especificando o comportamento de formatação.

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 onde enviar isto XDocument .

options
SaveOptions

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

Observações

Por defeito, os options são definidos para None. Esta opção eliminará todo o espaço em branco insignificante e supérfluo, e adicionará espaço em branco insignificante apropriado para que o XML fique devidamente indentado.

Se quiseres guardar XML sem indentar, especifica a DisableFormatting flag para options. Isto fará com que o escritor escreva todos os espaços em branco exatamente como representados na árvore XML.

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

Aplica-se a

Save(TextWriter, SaveOptions)

Origem:
XStreamingElement.cs
Origem:
XStreamingElement.cs
Origem:
XStreamingElement.cs
Origem:
XStreamingElement.cs
Origem:
XStreamingElement.cs

Serialize este elemento de streaming para um TextWriter, desativando opcionalmente 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

O TextWriter para gerar o XML para.

options
SaveOptions

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

Exemplos

O exemplo seguinte mostra duas utilizações deste método. A primeira utilização 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>

Observações

Se quiseres guardar XML sem indentar, especifica a DisableFormatting flag para options. Isto fará com que o escritor escreva todo o espaço em branco exatamente como representado na árvore XML.

Se quiser guardar XML indentado, não especifique a DisableFormatting flag para options. Isto eliminará todo o espaço em branco insignificante e extra, e adicionará espaço em branco insignificante apropriado para que o XML seja devidamente indentado. Este é o comportamento padrão, e o comportamento das sobrecargas dos Save métodos que não tomam options como parâmetro.

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

Ver também

Aplica-se a

Save(String, SaveOptions)

Origem:
XStreamingElement.cs
Origem:
XStreamingElement.cs
Origem:
XStreamingElement.cs
Origem:
XStreamingElement.cs
Origem:
XStreamingElement.cs

Serialize este elemento de streaming para um ficheiro, desativando opcionalmente 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

A String que contém o nome do ficheiro.

options
SaveOptions

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

Exemplos

O exemplo seguinte mostra duas utilizações deste método. A primeira utilização 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>

Observações

Se quiseres guardar XML sem indentar, especifica a DisableFormatting flag para options. Isto fará com que o escritor escreva todo o espaço em branco exatamente como representado na árvore XML.

Se quiser guardar XML indentado, não especifique a DisableFormatting flag para options. Isto eliminará todo o espaço em branco insignificante e extra, e adicionará espaço em branco insignificante apropriado para que o XML seja devidamente indentado. Este é o comportamento padrão, e o comportamento das sobrecargas dos Save métodos que não tomam options como parâmetro.

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

Ver também

Aplica-se a