XElement.Save Método

Definição

Serializa a árvore XML subjacente do elemento. A saída pode ser salva em um arquivo, um XmlTextWriter, um TextWriter ou um XmlWriter. Opcionalmente, a formatação (recuo) pode ser desabilitada.

Sobrecargas

Save(Stream)

Gera este XElement para o Stream especificado.

Save(TextWriter)

Serialize esse elemento para um TextWriter.

Save(String)

Serialize esse elemento em um arquivo.

Save(XmlWriter)

Serialize esse elemento em um XmlWriter.

Save(Stream, SaveOptions)

Gera esse XElement para o Stream especificado, com a opção de especificar o comportamento de formatação.

Save(TextWriter, SaveOptions)

Serializa esse elemento para um TextWriter, opcionalmente desabilitando a formatação.

Save(String, SaveOptions)

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

Save(Stream)

Gera este XElement para o Stream especificado.

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 este XElement será gerado.

Comentários

O XML serializado será recuado. Todo o espaço em branco insignificante será removido e o 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 leva SaveOptions como um 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 quiser remover declarações de namespace duplicadas.

Aplica-se a

Save(TextWriter)

Serialize esse elemento 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 no qual o XElement será gravado.

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  

Esse exemplo gera a saída a seguir:

<?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 o 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 que você especifique SaveOptions como um parâmetro. Para obter mais informações, consulte Preservar 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 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)  

Esse exemplo gera a saída a seguir:

<?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 o 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 que você especifique SaveOptions como um parâmetro. Para obter mais informações, consulte Preservar 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 no qual o XElement será gravado.

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

Esse exemplo gera a saída a seguir:

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

Confira também

Aplica-se a

Save(Stream, SaveOptions)

Gera esse XElement para o Stream especificado, com a opção de especificar 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 o qual este XElement será gerado.

options
SaveOptions

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

Comentários

Por padrão, os options valores 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 quiser remover declarações de namespace duplicadas.

Aplica-se a

Save(TextWriter, SaveOptions)

Serializa esse elemento 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

O TextWriter para a saída do XML.

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, a preservação do 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  

Esse exemplo gera a saída a seguir:

<?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 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, 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 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.

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)  

Esse exemplo gera a saída a seguir:

<?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 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