Compartilhar via


XDocument.Save Método

Definição

Serializa esse XDocument para um arquivo, um TextWriter ou um XmlWriter.

Sobrecargas

Save(XmlWriter)

Serializar esse XDocument para um XmlWriter.

Save(Stream)

Gera este XDocument para o Stream especificado.

Save(TextWriter)

Serialize este XDocument em um TextWriter.

Save(String)

Serializar este XDocument em um arquivo, substituindo um arquivo existente, se ele existir.

Save(Stream, SaveOptions)

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

Save(TextWriter, SaveOptions)

Serialize XDocument em TextWriter, desabilitando a formatação de forma opcional.

Save(String, SaveOptions)

Serialize este XDocument em um arquivo, desabilitando a formatação de forma opcional.

Save(XmlWriter)

Serializar esse XDocument 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 no qual o XDocument será gravado.

Exemplos

O exemplo a seguir mostra como salvar um XDocument em um XmlWriter.

StringBuilder sb = new StringBuilder();  
XmlWriterSettings xws = new XmlWriterSettings();  
xws.OmitXmlDeclaration = true;  
xws.Indent = true;  

using (XmlWriter xw = XmlWriter.Create(sb, xws)) {  
    XDocument doc = new XDocument(  
        new XElement("Child",  
            new XElement("GrandChild", "some content")  
        )  
    );  
    doc.Save(xw);  
}  

Console.WriteLine(sb.ToString());  
Dim sb As StringBuilder = New StringBuilder()  
Dim xws As XmlWriterSettings = New XmlWriterSettings()  
xws.OmitXmlDeclaration = True  
xws.Indent = True  

Using xw = XmlWriter.Create(sb, xws)  
    Dim doc As XDocument = New XDocument(<Child><GrandChild>some content</GrandChild></Child>)  
    doc.Save(xw)  

End Using  

Console.WriteLine(sb.ToString())  

Esse exemplo gera a saída a seguir:

<Child>  
  <GrandChild>some content</GrandChild>  
</Child>  

Confira também

Aplica-se a

Save(Stream)

Gera este XDocument 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 XDocument 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 devidamente recuado. 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 representado na árvore XML.

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

Aplica-se a

Save(TextWriter)

Serialize este XDocument 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 no qual o XDocument será gravado.

Exemplos

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

StringBuilder sb = new StringBuilder();  

XDocument doc = new XDocument(  
    new XElement("Root",  
        new XElement("Child", "content")  
    )  
);  
TextWriter tr = new StringWriter(sb);  
doc.Save(tr);  
Console.WriteLine(sb.ToString());  
Dim sb As StringBuilder = New StringBuilder()  

Dim doc As XDocument = _   
    <?xml version="1.0" encoding="utf-8"?>  
        <Root><Child>content</Child></Root>  

Dim tr As TextWriter = New StringWriter(sb)  
doc.Save(tr)  
Console.WriteLine(sb.ToString())  

Esse exemplo gera a saída a seguir:

<?xml version="1.0" encoding="utf-16"?>  
<Root>  
  <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 devidamente recuado. 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. Para obter mais informações, consulte Preservar espaço em branco ao carregar ou analisar XML e Preservar espaço em branco durante a serialização.

Confira também

Aplica-se a

Save(String)

Serializar este XDocument em um arquivo, substituindo um arquivo existente, se ele existir.

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

Uma cadeia de caracteres que contém o nome do arquivo.

Exemplos

O exemplo a seguir cria um XDocument, salva o documento em um arquivo e imprime o arquivo no console.

XDocument doc = new XDocument(  
    new XElement("Root",  
        new XElement("Child", "content")  
    )  
);  
doc.Save("Root.xml");  
Console.WriteLine(File.ReadAllText("Root.xml"));  
Dim doc As XDocument = _   
    <?xml version="1.0" encoding="utf-8"?>  
        <Root><Child>content</Child></Root>  

doc.Save("Root.xml")  
Console.WriteLine(File.ReadAllText("Root.xml"))  

Esse exemplo gera a saída a seguir:

<?xml version="1.0" encoding="utf-8"?>  
<Root>  
  <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 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. 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(Stream, SaveOptions)

Gera esse XDocument 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 XDocument será gerado.

options
SaveOptions

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

Serialize XDocument em TextWriter, desabilitando a formatação de forma opcional.

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 serializa a XDocument formatação com. O segundo preserva o espaço em branco. 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.

XDocument doc = new XDocument(  
    new XElement("Root",  
        new XElement("Child", "content")  
    )  
);  
StringBuilder sb1 = new StringBuilder();  
using (StringWriter sr1 = new StringWriter(sb1)) {  
    doc.Save(sr1, SaveOptions.None);  
    Console.WriteLine(sb1.ToString());  
}  

StringBuilder sb2 = new StringBuilder();  
using (StringWriter sr2 = new StringWriter(sb2)) {  
    doc.Save(sr2, SaveOptions.DisableFormatting);  
    Console.WriteLine(sb2.ToString());  
}  
Dim doc As XDocument = _   
    <?xml version="1.0" encoding="utf-8"?>  
        <Root><Child>content</Child></Root>  

Dim sb1 As StringBuilder = New StringBuilder()  

Using sr1 = New StringWriter(sb1)  
    doc.Save(sr1, SaveOptions.None)  
    Console.WriteLine(sb1.ToString())  
End Using  

Dim sb2 As StringBuilder = New StringBuilder()  

Using sr2 = New StringWriter(sb2)  
    doc.Save(sr2, SaveOptions.DisableFormatting)  
    Console.WriteLine(sb2.ToString())  
End Using  

Esse exemplo gera a saída a seguir:

<?xml version="1.0" encoding="utf-16"?>  
<Root>  
  <Child>content</Child>  
</Root>  
<?xml version="1.0" encoding="utf-16"?><Root><Child>content</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 este XDocument em um arquivo, desabilitando a formatação de forma opcional.

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

Uma cadeia de caracteres 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 XDocument recuo.

XDocument doc = new XDocument(  
    new XElement("Root",  
        new XElement("Child", "content")  
    )  
);  
doc.Save("Root1.xml", SaveOptions.DisableFormatting);  
Console.WriteLine(File.ReadAllText("Root1.xml"));  
doc.Save("Root2.xml", SaveOptions.None);  
Console.WriteLine(File.ReadAllText("Root2.xml"));  
Dim doc As XDocument = _   
    <?xml version="1.0" encoding="utf-8"?>  
        <Root><Child>content</Child></Root>  

doc.Save("Root1.xml", SaveOptions.DisableFormatting)  
Console.WriteLine(File.ReadAllText("Root1.xml"))  
doc.Save("Root2.xml", SaveOptions.None)  
Console.WriteLine(File.ReadAllText("Root2.xml"))  

Esse exemplo gera a saída a seguir:

<?xml version="1.0" encoding="utf-8"?><Root><Child>content</Child></Root>  
<?xml version="1.0" encoding="utf-8"?>  
<Root>  
  <Child>content</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