XElement.Save Método

Definición

Serialice el árbol XML subyacente de este elemento.Serialize this element's underlying XML tree. El resultado se puede guardar en un archivo, XmlTextWriter, TextWriter o XmlWriter.The output can be saved to a file, an XmlTextWriter, a TextWriter, or an XmlWriter. Opcionalmente, se puede deshabilitar el formato (sangría).Optionally, formatting (indenting) can be disabled.

Sobrecargas

Save(Stream)

Genera este XElement en el objeto Stream especificado.Outputs this XElement to the specified Stream.

Save(TextWriter)

Serialice este elemento en un objeto TextWriter.Serialize this element to a TextWriter.

Save(String)

Serialice este elemento en un archivo.Serialize this element to a file.

Save(XmlWriter)

Serialice este elemento en un objeto XmlWriter.Serialize this element to an XmlWriter.

Save(Stream, SaveOptions)

Genera este XElement en el objeto Stream especificado, especificando opcionalmente el comportamiento de formato.Outputs this XElement to the specified Stream, optionally specifying formatting behavior.

Save(TextWriter, SaveOptions)

Serialice este elemento en un TextWriter y, de manera opcional, deshabilite el formato.Serialize this element to a TextWriter, optionally disabling formatting.

Save(String, SaveOptions)

Serialice este elemento en un archivo y, de manera opcional, deshabilite el formato.Serialize this element to a file, optionally disabling formatting.

Save(Stream)

Genera este XElement en el objeto Stream especificado.Outputs this XElement to the specified 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

Secuencia que se envía a este XElement.The stream to output this XElement to.

Comentarios

Se aplicará sangría al XML serializado.The serialized XML will be indented. Se quitarán todos los espacios en blanco insignificantes y se agregará espacio en blanco adicional para que se aplique sangría correctamente al XML.All insignificant white space will be removed, and additional white space will be added so that the XML will be properly indented. El comportamiento de este método es que no se conservarán los espacios en blanco insignificantes.The behavior of this method is that insignificant white space will not be preserved.

Si desea controlar el espacio en blanco, use la sobrecarga de Save que toma SaveOptions como parámetro.If you want to control white space, use the overload of Save that takes SaveOptions as a parameter. Use la DisableFormatting opción para guardar XML sin sangría.Use the DisableFormatting option to save unindented XML. Esto hará que el escritor escriba todos los espacios en blanco exactamente como se representan en el árbol XML.This will cause the writer to write all white spaces exactly as represented in the XML tree.

Utilice la OmitDuplicateNamespaces opción si desea quitar las declaraciones de espacio de nombres duplicadas.Use the OmitDuplicateNamespaces option if you want to remove duplicate namespace declarations.

Se aplica a

Save(TextWriter)

Serialice este elemento en un objeto TextWriter.Serialize this element to a 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 XElement.A TextWriter that the XElement will be written to.

Ejemplos

En el ejemplo siguiente se crea un XElement , se guarda el documento en StringWriter y, a continuación, se imprime la cadena en la consola.The following example creates an XElement, saves the document to a StringWriter, and then prints the string to the 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  

Este ejemplo produce el siguiente resultado:This example produces the following output:

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

Comentarios

Se aplicará sangría al XML serializado.The serialized XML will be indented. Se quitarán todos los espacios en blanco insignificantes y se agregará espacio en blanco adicional para que se aplique sangría correctamente al XML.All insignificant white space will be removed, and additional white space will be added so that the XML will be properly indented. El comportamiento de este método es que no se conservarán los espacios en blanco.The behavior of this method is that white space will not be preserved.

Si desea controlar el espacio en blanco, use la sobrecarga de Save que le permite especificar SaveOptions como parámetro.If you want to control white space, use the overload of Save that allows you to specify SaveOptions as a parameter. 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.For more information, see Preserve white space while loading or parsing XML and Preserve white space while serializing.

Se aplica a

Save(String)

Serialice este elemento en un archivo.Serialize this element to a file.

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

Objeto String que contiene el nombre del archivo.A String that contains the name of the file.

Ejemplos

En el ejemplo siguiente se crea un XElement , se guarda el documento en un archivo y, a continuación, se imprime el archivo en la consola.The following example creates an XElement, saves the document to a file, and then prints the file to the 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)  

Este ejemplo produce el siguiente resultado:This example produces the following output:

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

Comentarios

Se aplicará sangría al XML serializado.The serialized XML will be indented. Se quitarán todos los espacios en blanco insignificantes y se agregará espacio en blanco adicional para que se aplique sangría correctamente al XML.All insignificant white space will be removed, and additional white space will be added so that the XML will be properly indented. El comportamiento de este método es que los nodos de espacio en blanco insignificantes del árbol XML no se conservarán.The behavior of this method is that insignificant white space nodes in the XML tree will not be preserved.

Si desea controlar el espacio en blanco, use la sobrecarga de Save que le permite especificar SaveOptions como parámetro.If you want to control white space, use the overload of Save that allows you to specify SaveOptions as a parameter. 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.For more information, see Preserve white space while loading or parsing XML and Preserve white space while serializing.

Se aplica a

Save(XmlWriter)

Serialice este elemento en un objeto XmlWriter.Serialize this element to an 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 XElement.A XmlWriter that the XElement will be written to.

Ejemplos

En el siguiente ejemplo se muestra cómo guardar un XElement en un XmlWriter.The following example shows how to save an XElement to an 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())  

Este ejemplo produce el siguiente resultado:This example produces the following output:

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

Se aplica a

Save(Stream, SaveOptions)

Genera este XElement en el objeto Stream especificado, especificando opcionalmente el comportamiento de formato.Outputs this XElement to the specified Stream, optionally specifying formatting behavior.

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 XElement.The stream to output this XElement to.

options
SaveOptions

Objeto SaveOptions que especifica el comportamiento de formato.A SaveOptions object that specifies formatting behavior.

Comentarios

De forma predeterminada, options se establecen en None .By default the options are set to None. Esta opción quitará todos los espacios en blanco extraños y no significativos, y agregará un espacio en blanco insignificante adecuado para que se aplique una sangría adecuada al XML.This option will remove all extraneous insignificant white space, and add appropriate insignificant white space so that the XML is properly indented.

Si desea guardar XML sin sangría, especifique la DisableFormatting marca para options .If you want to save unindented XML, specify the DisableFormatting flag for options. Esto hará que el escritor escriba todos los espacios en blanco exactamente como se representan en el árbol XML.This will cause the writer to write all white spaces exactly as represented in the XML tree.

Use la OmitDuplicateNamespaces opción si desea quitar las declaraciones de espacio de nombres duplicadas.Use OmitDuplicateNamespaces option if you want to remove duplicate namespace declarations.

Se aplica a

Save(TextWriter, SaveOptions)

Serialice este elemento en un TextWriter y, de manera opcional, deshabilite el formato.Serialize this element to a TextWriter, optionally disabling formatting.

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.The TextWriter to output the XML to.

options
SaveOptions

SaveOptions que especifica el comportamiento de formato.A SaveOptions that specifies formatting behavior.

Ejemplos

En el ejemplo siguiente se muestran dos usos de este método.The following example shows two uses of this method. El primer uso conserva el espacio en blanco.The first use preserves white space. La segunda serializa con el XElement formato.The second serializes the XElement with formatting. Dado que el documento no tiene ningún espacio en blanco como construido, si se conserva el espacio en blanco, se genera el XML sin sangría.Because the document has no white space in it as constructed, preserving white space outputs the XML without any indenting.

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 ejemplo produce el siguiente resultado:This example produces the following output:

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

Comentarios

Si desea guardar XML sin sangría, especifique la DisableFormatting marca para options .If you want to save unindented XML, specify the DisableFormatting flag for options. Esto hará que el escritor escriba todos los espacios en blanco exactamente como se representan en el árbol XML.This will cause the writer to write all white space exactly as represented in the XML tree.

Si desea guardar el XML con sangría, no especifique la DisableFormatting marca para options .If you want to save indented XML, do not specify the DisableFormatting flag for options. De este modo, se quitarán todos los espacios en blanco insignificantes y se agregarán los espacios en blanco insignificantes adecuados para que se aplique una sangría adecuada al XML.This will remove all extraneous insignificant white space, and add appropriate insignificant white space so that the XML is properly indented. Éste es el comportamiento predeterminado y el comportamiento de las sobrecargas de los Save métodos que no toman options como parámetro.This is the default behavior, and the behavior of the overloads of the Save methods that do not take options as a parameter.

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.For more information, see Preserve white space while loading or parsing XML and Preserve white space while serializing.

Se aplica a

Save(String, SaveOptions)

Serialice este elemento en un archivo y, de manera opcional, deshabilite el formato.Serialize this element to a file, optionally disabling formatting.

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

Objeto String que contiene el nombre del archivo.A String that contains the name of the file.

options
SaveOptions

SaveOptions que especifica el comportamiento de formato.A SaveOptions that specifies formatting behavior.

Ejemplos

En el ejemplo siguiente se muestran dos usos de este método.The following example shows two uses of this method. El primer uso conserva el espacio en blanco.The first use preserves white space. El segundo serializa XElement con el formato.The second one serializes the XElement with formatting.

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 ejemplo produce el siguiente resultado:This example produces the following output:

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

Comentarios

Si desea guardar XML sin sangría, especifique la DisableFormatting marca para options .If you want to save unindented XML, specify the DisableFormatting flag for options. Esto hará que el escritor escriba todos los espacios en blanco exactamente como se representan en el árbol XML.This will cause the writer to write all white space exactly as represented in the XML tree.

Si desea guardar el XML con sangría, no especifique la DisableFormatting marca para options .If you want to save indented XML, do not specify the DisableFormatting flag for options. De este modo, se quitarán todos los espacios en blanco insignificantes y se agregarán los espacios en blanco insignificantes adecuados para que se aplique una sangría adecuada al XML.This will remove all extraneous insignificant white space, and add appropriate insignificant white space so that the XML is properly indented. Éste es el comportamiento predeterminado y el comportamiento de las sobrecargas de los Save métodos que no toman options como parámetro.This is the default behavior, and the behavior of the overloads of the Save methods that do not take options as a parameter.

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.For more information, see Preserve white space while loading or parsing XML and Preserve white space while serializing.

Se aplica a