XElement.Save Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Serialice el árbol XML subyacente de este elemento. La salida se puede guardar en un archivo, un XmlTextWriter, o TextWriterun XmlWriter. Opcionalmente, el formato (sangría) se puede deshabilitar.
Sobrecargas
| Nombre | Description |
|---|---|
| Save(Stream) | |
| Save(TextWriter) |
Serialice este elemento en un TextWriter. |
| Save(String) |
Serialice este elemento en un archivo. |
| Save(XmlWriter) |
Serialice este elemento en un XmlWriter. |
| Save(Stream, SaveOptions) |
Genera esto XElement en el especificado Streamy, opcionalmente, especifica el comportamiento de formato. |
| Save(TextWriter, SaveOptions) |
Serialice este elemento en un TextWriter, deshabilitando opcionalmente el formato. |
| Save(String, SaveOptions) |
Serialice este elemento en un archivo, deshabilitando opcionalmente el formato. |
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
Comentarios
El XML serializado se aplicará sangría. Se quitarán todos los espacios en blanco insignificantes y se agregarán espacios en blanco adicionales para que el XML se desendene correctamente. 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 la OmitDuplicateNamespaces opción si desea quitar declaraciones de espacio de nombres duplicadas.
Se aplica a
Save(TextWriter)
Serialice este elemento 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
que TextWriterXElement se escribirá en .
Ejemplos
En el ejemplo siguiente se crea un XElement, se guarda el documento StringWriteren y, a continuación, se imprime la cadena en la 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 ejemplo produce el siguiente resultado:
<?xml version="1.0" encoding="utf-16"?>
<Root>
<Child> Text </Child>
</Root>
Comentarios
El XML serializado se aplicará sangría. Se quitarán todos los espacios en blanco insignificantes y se agregarán espacios en blanco adicionales para que el XML se desendene correctamente. El comportamiento de este método es que no se conservará el espacio en blanco.
Si desea controlar el espacio en blanco, use la sobrecarga de Save que le permite especificar 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)
Serialice este elemento en un archivo.
public:
void Save(System::String ^ fileName);
public void Save(string fileName);
member this.Save : string -> unit
Public Sub Save (fileName As String)
Parámetros
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.
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:
<?xml version="1.0" encoding="utf-8"?>
<Root>
<Child>child content</Child>
</Root>
Comentarios
El XML serializado se aplicará sangría. Se quitarán todos los espacios en blanco insignificantes y se agregarán espacios en blanco adicionales para que el XML se desendene correctamente. El comportamiento de este método es que no se conservarán los nodos de espacio en blanco insignificantes del árbol XML.
Si desea controlar el espacio en blanco, use la sobrecarga de Save que le permite especificar 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(XmlWriter)
Serialice este elemento 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
Ejemplos
En el ejemplo siguiente se muestra cómo guardar un objeto XElement en un 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:
<Root><Child>child content</Child></Root>
Consulte también
Se aplica 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
Objeto SaveOptions que especifica el comportamiento de formato.
Comentarios
De forma predeterminada, options se establecen en None. 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ía, 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)
Serialice este elemento en un TextWriter, deshabilitando opcionalmente 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
objeto TextWriter al que se va a generar el XML.
- options
- SaveOptions
que SaveOptions 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 XElement formato. Dado que el documento no tiene ningún espacio en blanco tal como se construye, conservando el espacio en blanco genera el XML sin sangría.
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:
<?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. Esto hará que el escritor escriba todo el espacio en blanco exactamente como se representa 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 apropiados 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)
Serialice este elemento en un archivo, deshabilitando opcionalmente 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
- options
- SaveOptions
que SaveOptions 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 XElement formato.
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:
<?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. Esto hará que el escritor escriba todo el espacio en blanco exactamente como se representa 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 apropiados 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.