XElement.Save Método

Definição

Serialize a árvore XML subjacente desse elemento. 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 XElement para o especificado Stream.

Save(TextWriter)

Serialize esse elemento em um TextWriter.

Save(String)

Serialize esse elemento em um arquivo.

Save(XmlWriter)

Serialize esse elemento em um XmlWriter.

Save(Stream, SaveOptions)

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

Save(TextWriter, SaveOptions)

Serialize esse elemento em um TextWriter, opcionalmente desabilitando a formatação.

Save(String, SaveOptions)

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

Save(Stream)

Gera isso XElement 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á XElement 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 a opção OmitDuplicateNamespaces se você quiser remover declarações de namespace duplicadas.

Aplica-se a

Save(TextWriter)

Serialize esse elemento em 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 XElement será escrito para.

Exemplos

O exemplo a seguir cria um XElement, salva o documento em um StringWritere, em seguida, imprime a cadeia de caracteres no console.

XElement root = XElement.Parse(@"<Root> <Child> Text </Child> </Root>");
using (StringWriter sw = new StringWriter()) {
    root.Save(sw);
    Console.WriteLine(sw.ToString());
}
Dim root As XElement = <Root><Child> Text </Child></Root>
Using sw = New StringWriter()
    root.Save(sw)
    Console.WriteLine(sw.ToString())
End Using

Este exemplo produz a seguinte saída:

<?xml version="1.0" encoding="utf-16"?>
<Root>
  <Child> Text </Child>
</Root>

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 não será preservado.

Se você quiser controlar o espaço em branco, use a sobrecarga que Save permite especificar SaveOptions como um 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 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 um XElement, salva o documento em um arquivo e, em seguida, imprime o arquivo no console.

XElement root = new XElement("Root",
    new XElement("Child", "child content")
);
root.Save("Root.xml");
string str = File.ReadAllText("Root.xml");
Console.WriteLine(str);
Dim root As XElement = _
        <Root>
            <Child>child content</Child>
        </Root>
root.Save("Root.xml")
Dim Str As String = File.ReadAllText("Root.xml")
Console.WriteLine(Str)

Este exemplo produz a seguinte saída:

<?xml version="1.0" encoding="utf-8"?>
<Root>
  <Child>child content</Child>
</Root>

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 a sobrecarga que Save permite especificar SaveOptions como um 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 em 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 mostra como salvar um XElement em um XmlWriter.

StringBuilder sb = new StringBuilder();
XmlWriterSettings xws = new XmlWriterSettings();
xws.OmitXmlDeclaration = true;
using (XmlWriter xw = XmlWriter.Create(sb, xws)) {
    XElement root = new XElement("Root",
        new XElement("Child", "child content")
    );
    root.Save(xw);
}
Console.WriteLine(sb.ToString());
Dim sb As StringBuilder = New StringBuilder()
Dim xws As XmlWriterSettings = New XmlWriterSettings()
xws.OmitXmlDeclaration = True
Using xw = XmlWriter.Create(sb, xws)
    Dim root As XElement = <Root>
                               <Child>child content</Child>
                           </Root>
    root.Save(xw)
End Using
Console.WriteLine(sb.ToString())

Este exemplo produz a seguinte saída:

<Root><Child>child content</Child></Root>

Confira também

Aplica-se a

Save(Stream, SaveOptions)

Gera isso XElement 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á XElement 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 em 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 a XElement formatação com. Como o documento não tem espaço em branco como construído, preservar o espaço em branco gera o XML sem qualquer recuo.

XElement root = XElement.Parse(@"<Root> <Child> Text </Child> </Root>");

using (StringWriter sw = new StringWriter())
{
    root.Save(sw, SaveOptions.DisableFormatting);
    Console.WriteLine(sw.ToString());
}

Console.WriteLine("=====");

using (StringWriter sw = new StringWriter())
{
    root.Save(sw, SaveOptions.None);
    Console.WriteLine(sw.ToString());
}
Dim root As XElement = <Root><Child> Text </Child></Root>

Using sw = New StringWriter()
    root.Save(sw, SaveOptions.DisableFormatting)
    Console.WriteLine(sw.ToString())
End Using

Console.WriteLine("=====")

Using sw = New StringWriter()
    root.Save(sw, SaveOptions.None)
    Console.WriteLine(sw.ToString())
End Using

Este exemplo produz a seguinte saída:

<?xml version="1.0" encoding="utf-16"?><Root><Child> Text </Child></Root>
=====
<?xml version="1.0" encoding="utf-16"?>
<Root>
  <Child> Text </Child>
</Root>

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 em um arquivo, desabilitando 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

Um String que contém o nome do arquivo.

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 XElement com formatação.

string str;
XElement root = XElement.Parse(@"<Root> <Child> Text </Child> </Root>");

root.Save("Root.xml", SaveOptions.DisableFormatting);
str = File.ReadAllText("Root.xml");
Console.WriteLine(str);

Console.WriteLine("=====");

root.Save("Root.xml", SaveOptions.None);
str = File.ReadAllText("Root.xml");
Console.WriteLine(str);
Dim str As String
Dim root As XElement = <Root><Child> Text </Child></Root>

root.Save("Root.xml", SaveOptions.DisableFormatting)
str = File.ReadAllText("Root.xml")
Console.WriteLine(str)

Console.WriteLine("=====")

root.Save("Root.xml", SaveOptions.None)
str = File.ReadAllText("Root.xml")
Console.WriteLine(str)

Este exemplo produz a seguinte saída:

<?xml version="1.0" encoding="utf-8"?><Root><Child> Text </Child></Root>
=====
<?xml version="1.0" encoding="utf-8"?>
<Root>
  <Child> Text </Child>
</Root>

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