Share via


XDocument.Save Método

Definición

Serializa este XDocument en un archivo, un TextWriter o un XmlWriter.

Sobrecargas

Save(XmlWriter)

Serializa el XDocument en un XmlWriter.

Save(Stream)

Genera este XDocument en el objeto Stream especificado.

Save(TextWriter)

Serializa el XDocument en un TextWriter.

Save(String)

Serializa este XDocument en un archivo, sobrescribiendo un archivo existente, si existe.

Save(Stream, SaveOptions)

Genera este XDocument en el objeto Stream especificado, especificando opcionalmente el comportamiento de formato.

Save(TextWriter, SaveOptions)

Serializa el XDocument en un TextWriter, opcionalmente se deshabilita el formato.

Save(String, SaveOptions)

Serializa XDocument en un archivo, opcionalmente se deshabilita el formato.

Save(XmlWriter)

Serializa el XDocument en un 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

XmlWriter en el que se escribirá un XDocument.

Ejemplos

En el siguiente ejemplo se muestra cómo guardar un XDocument en un 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())  

Este ejemplo produce el siguiente resultado:

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

Consulte también

Se aplica a

Save(Stream)

Genera este XDocument en el objeto 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

Secuencia que se envía a este XDocument.

Comentarios

El XML serializado se aplicará sangría. Se quitarán todos los espacios en blanco insignificantes y se agregará espacio en blanco adicional para que el XML se aplique correctamente la sangría. El comportamiento de este método es que no se conservarán espacios en blanco insignificantes.

Si desea controlar el espacio en blanco, use la sobrecarga de Save que toma SaveOptions como parámetro. Use la DisableFormatting opción para guardar XML sin sangría. Esto hará que el escritor escriba todos los espacios en blanco exactamente como se representan en el árbol XML.

Use OmitDuplicateNamespaces la opción si desea quitar declaraciones de espacio de nombres duplicadas.

Se aplica a

Save(TextWriter)

Serializa el XDocument en un 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

TextWriter en el que se escribirá un XDocument.

Ejemplos

En el ejemplo siguiente se crea un XDocumentobjeto , se guarda el documento StringWriteren y, a continuación, se imprime la cadena en la 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 ejemplo produce el siguiente resultado:

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

Comentarios

El XML serializado se aplicará sangría. Se quitarán todos los espacios en blanco insignificantes y se agregará espacio en blanco adicional para que el XML se aplique correctamente la sangría. El comportamiento de este método es que no se conservarán espacios en blanco insignificantes.

Si desea controlar el espacio en blanco, use la sobrecarga de Save que toma SaveOptions como parámetro. Para obtener más información, vea Conservar el espacio en blanco al cargar o analizar XML y Conservar el espacio en blanco durante la serialización.

Consulte también

Se aplica a

Save(String)

Serializa este XDocument en un archivo, sobrescribiendo un archivo existente, si existe.

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

Cadena que contiene el nombre del archivo.

Ejemplos

En el ejemplo siguiente se crea un XDocumentobjeto , se guarda el documento en un archivo y, a continuación, se imprime el archivo en la 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 ejemplo produce el siguiente resultado:

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

Comentarios

El XML serializado se aplicará sangría. Se quitarán todos los espacios en blanco insignificantes y se agregará espacio en blanco adicional para que el XML se aplique correctamente la sangría. El comportamiento de este método es que no se conservarán espacios en blanco insignificantes.

Si desea controlar el espacio en blanco, use la sobrecarga de Save que toma SaveOptions como parámetro. Para obtener más información, vea Conservar el espacio en blanco al cargar o analizar XML y Conservar el espacio en blanco durante la serialización.

Consulte también

Se aplica a

Save(Stream, SaveOptions)

Genera este XDocument en el objeto Stream especificado, especificando opcionalmente el comportamiento de formato.

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

Secuencia que se envía a este XDocument.

options
SaveOptions

SaveOptions que especifica el comportamiento de formato.

Comentarios

De forma predeterminada, options se establecen Noneen . Esta opción quitará todos los espacios en blanco insignificantes extraños y agregará espacios en blanco insignificantes adecuados para que el XML esté correctamente sangrado.

Si desea guardar XML sin sangr, especifique la DisableFormatting marca para options. Esto hará que el escritor escriba todos los espacios en blanco exactamente como se representan en el árbol XML.

Use OmitDuplicateNamespaces la opción si desea quitar declaraciones de espacio de nombres duplicadas.

Se aplica a

Save(TextWriter, SaveOptions)

Serializa el XDocument en un TextWriter, opcionalmente se deshabilita el formato.

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

TextWriter al que se envía el XML.

options
SaveOptions

SaveOptions que especifica el comportamiento de formato.

Ejemplos

En el ejemplo siguiente se muestran dos usos de este método. El primer uso serializa con XDocument formato. El segundo conserva el espacio en blanco. Dado que el documento no tiene ningún espacio en blanco en él tal como se construye, conservando los espacios en blanco genera el XML sin sangría alguna.

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 ejemplo produce el siguiente resultado:

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

Comentarios

Si desea guardar XML sin sangr, especifique la DisableFormatting marca para options. Esto hará que el escritor escriba todos los espacios en blanco exactamente como se representan en el árbol XML.

Si desea guardar XML con sangría, no especifique la DisableFormatting marca para options. Esto eliminará todos los espacios en blanco insignificantes extraños y agregará espacios en blanco insignificantes adecuados para que el XML esté correctamente sangrado. Este es el comportamiento predeterminado y el comportamiento de las sobrecargas de los Save métodos que no toman options como parámetro.

Para obtener más información, vea Conservar el espacio en blanco al cargar o analizar XML y Conservar el espacio en blanco durante la serialización.

Consulte también

Se aplica a

Save(String, SaveOptions)

Serializa XDocument en un archivo, opcionalmente se deshabilita el formato.

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

Cadena que contiene el nombre del archivo.

options
SaveOptions

SaveOptions que especifica el comportamiento de formato.

Ejemplos

En el ejemplo siguiente se muestran dos usos de este método. El primer uso conserva el espacio en blanco. La segunda serializa con XDocument sangría.

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 ejemplo produce el siguiente resultado:

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

Comentarios

Si desea guardar XML sin sangr, especifique la DisableFormatting marca para options. Esto hará que el escritor escriba todos los espacios en blanco exactamente como se representan en el árbol XML.

Si desea guardar XML con sangría, no especifique la DisableFormatting marca para options. Esto eliminará todos los espacios en blanco insignificantes extraños y agregará espacios en blanco insignificantes adecuados para que el XML esté correctamente sangrado. Este es el comportamiento predeterminado y el comportamiento de las sobrecargas de los Save métodos que no toman options como parámetro.

Para obtener más información, vea Conservar el espacio en blanco al cargar o analizar XML y Conservar el espacio en blanco durante la serialización.

Consulte también

Se aplica a