XElement.Save Método

Definição

Serialize a árvore XML subjacente a este elemento. 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 Description
Save(Stream)

Envia isto XElement para o especificado Stream.

Save(TextWriter)

Serialize este elemento para um TextWriter.

Save(String)

Serialize este elemento para um ficheiro.

Save(XmlWriter)

Serialize este elemento para um XmlWriter.

Save(Stream, SaveOptions)

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

Save(TextWriter, SaveOptions)

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

Save(String, SaveOptions)

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

Save(Stream)

Origem:
XElement.cs
Origem:
XElement.cs
Origem:
XElement.cs
Origem:
XElement.cs
Origem:
XElement.cs

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

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

Aplica-se a

Save(TextWriter)

Origem:
XElement.cs
Origem:
XElement.cs
Origem:
XElement.cs
Origem:
XElement.cs
Origem:
XElement.cs

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

A TextWriter que o XElement testamento será escrito.

Exemplos

O exemplo seguinte cria um XElement, guarda o documento num StringWriter, e depois imprime a cadeia na consola.

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>

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 o espaço em branco não será preservado.

Se quiseres controlar o espaço em branco, usa a sobrecarga de Save que isso te permite especificar 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:
XElement.cs
Origem:
XElement.cs
Origem:
XElement.cs
Origem:
XElement.cs
Origem:
XElement.cs

Serialize este elemento 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 um XElement, guarda o documento num ficheiro e depois imprime o ficheiro na consola.

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>

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 a sobrecarga de Save que isso te permite especificar 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:
XElement.cs
Origem:
XElement.cs
Origem:
XElement.cs
Origem:
XElement.cs
Origem:
XElement.cs

Serialize este elemento 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 mostra como guardar num XElementXmlWriter.

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>

Ver também

Aplica-se a

Save(Stream, SaveOptions)

Origem:
XElement.cs
Origem:
XElement.cs
Origem:
XElement.cs
Origem:
XElement.cs
Origem:
XElement.cs

Exporta isto XElement 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 XElement .

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:
XElement.cs
Origem:
XElement.cs
Origem:
XElement.cs
Origem:
XElement.cs
Origem:
XElement.cs

Serialize este elemento 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. A segunda serializa o XElement com formatação. Como o documento não tem espaço em branco tal como foi construído, preservar o espaço em branco produz o XML sem qualquer indentação.

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>

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:
XElement.cs
Origem:
XElement.cs
Origem:
XElement.cs
Origem:
XElement.cs
Origem:
XElement.cs

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

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

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