XDocument.Save Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Serializa isto XDocument para um ficheiro, um TextWriter, ou um XmlWriter.
Sobrecargas
| Name | Description |
|---|---|
| Save(XmlWriter) | |
| Save(Stream) | |
| Save(TextWriter) |
Serialize isto XDocument para um TextWriter. |
| Save(String) |
Serialize isto XDocument para um ficheiro, sobrescrevendo um ficheiro existente, se este existir. |
| Save(Stream, SaveOptions) |
Exporta isto XDocument para o especificado Stream, opcionalmente especificando o comportamento de formatação. |
| Save(TextWriter, SaveOptions) |
Serialize isto XDocument para um TextWriter, desativando opcionalmente a formatação. |
| Save(String, SaveOptions) |
Serialize isto XDocument para um ficheiro, desativando opcionalmente a formatação. |
Save(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
Exemplos
O exemplo seguinte mostra como guardar num XDocumentXmlWriter.
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())
Este exemplo produz a seguinte saída:
<Child>
<GrandChild>some content</GrandChild>
</Child>
Ver também
- WriteTo(XmlWriter)
- Load
- Parse
- Visão geral do LINQ to XML
- Como ler e escrever um documento codificado
Aplica-se a
Save(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
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)
Serialize isto XDocument 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 XDocument testamento será escrito.
Exemplos
O exemplo seguinte cria um XDocument, guarda o documento num StringWriter, e depois imprime a cadeia na consola.
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())
Este exemplo produz a seguinte saída:
<?xml version="1.0" encoding="utf-16"?>
<Root>
<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 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. 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
- WriteTo(XmlWriter)
- Load
- Parse
- Visão geral do LINQ to XML
- Como ler e escrever um documento codificado
Aplica-se a
Save(String)
Serialize isto XDocument para um ficheiro, sobrescrevendo um ficheiro existente, se este 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 que contém o nome do ficheiro.
Exemplos
O exemplo seguinte cria um XDocument, guarda o documento num ficheiro e depois imprime o ficheiro na consola.
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"))
Este exemplo produz a seguinte saída:
<?xml version="1.0" encoding="utf-8"?>
<Root>
<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 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. 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
- WriteTo(XmlWriter)
- Load
- Parse
- Visão geral do LINQ to XML
- Como ler e escrever um documento codificado
Aplica-se a
Save(Stream, SaveOptions)
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
- options
- SaveOptions
A SaveOptions 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)
Serialize isto XDocument 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. O primeiro uso serializa o XDocument com formatação. A segunda preserva o espaço em branco. 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.
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
Este exemplo produz a seguinte saída:
<?xml version="1.0" encoding="utf-16"?>
<Root>
<Child>content</Child>
</Root>
<?xml version="1.0" encoding="utf-16"?><Root><Child>content</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
- WriteTo(XmlWriter)
- Load
- Parse
- Visão geral do LINQ to XML
- Como ler e escrever um documento codificado
Aplica-se a
Save(String, SaveOptions)
Serialize isto XDocument 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
Uma cadeia 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 XDocument com indentação.
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"))
Este exemplo produz a seguinte saída:
<?xml version="1.0" encoding="utf-8"?><Root><Child>content</Child></Root>
<?xml version="1.0" encoding="utf-8"?>
<Root>
<Child>content</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
- WriteTo(XmlWriter)
- Load
- Parse
- Visão geral do LINQ to XML
- Como: Ler e Escrever um Documento Codificado