Comparteix a través de


XmlDocument.Save Método

Definición

Guarda el documento XML en la ubicación especificada.

Sobrecargas

Save(Stream)

Guarda el documento XML en el flujo especificado.

Save(TextWriter)

Guarda el documento XML en el TextWriter especificado.

Save(String)

Guarda el documento XML en el archivo especificado. Si existe el archivo especificado, este método lo sobrescribe.

Save(XmlWriter)

Guarda el documento XML en el XmlWriter especificado.

Save(Stream)

Guarda el documento XML en el flujo especificado.

public:
 virtual void Save(System::IO::Stream ^ outStream);
public virtual void Save (System.IO.Stream outStream);
abstract member Save : System.IO.Stream -> unit
override this.Save : System.IO.Stream -> unit
Public Overridable Sub Save (outStream As Stream)

Parámetros

outStream
Stream

Secuencia en la que se desea guardar.

Excepciones

La operación no generarái un documento XML bien formado (por ejemplo, ningún documento duplicado o declaraciones XML duplicadas).

Comentarios

El espacio en blanco solo se conserva si PreserveWhitespace se establece en true.

XmlDeclaration del objeto actual XmlDocument determina el atributo de codificación en el documento guardado. El valor del atributo de codificación se toma de la XmlDeclaration.Encoding propiedad . XmlDocument Si no tiene un xmlDeclaration o si xmlDeclaration no tiene un atributo de codificación, el documento guardado tampoco tendrá uno.

Cuando se guarda el documento, se generan atributos xmlns para conservar correctamente la identidad del nodo (nombre local + URI de espacio de nombres). Por ejemplo, el siguiente código de C#

XmlDocument doc = new XmlDocument();  
doc.AppendChild(doc.CreateElement("item","urn:1"));  
doc.Save(Console.Out);  

genera este atributo <item xmls="urn:1"/>xmls .

Este método es una extensión de Microsoft al Modelo de objetos de documento (DOM).

Tenga en cuenta que solo el Save método aplica un documento XML bien formado. Todas las demás Save sobrecargas solo garantizan un fragmento bien formado.

Se aplica a

Save(TextWriter)

Guarda el documento XML en el TextWriter especificado.

public:
 virtual void Save(System::IO::TextWriter ^ writer);
public virtual void Save (System.IO.TextWriter writer);
abstract member Save : System.IO.TextWriter -> unit
override this.Save : System.IO.TextWriter -> unit
Public Overridable Sub Save (writer As TextWriter)

Parámetros

writer
TextWriter

TextWriter en el que se desea guardar.

Excepciones

La operación no generarái un documento XML bien formado (por ejemplo, ningún documento duplicado o declaraciones XML duplicadas).

Comentarios

La codificación de TextWriter determina la codificación que se escribe (la codificación del nodo XmlDeclaration se reemplaza por la codificación de TextWriter). Si no se ha especificado ninguna codificación en TextWriter, XmlDocument se guarda sin un atributo de codificación.

Este método es una extensión de Microsoft al Modelo de objetos de documento (DOM).

Tenga en cuenta que solo el Save método aplica un documento XML bien formado. Todas las demás Save sobrecargas solo garantizan un fragmento bien formado.

Se aplica a

Save(String)

Guarda el documento XML en el archivo especificado. Si existe el archivo especificado, este método lo sobrescribe.

public:
 virtual void Save(System::String ^ filename);
public virtual void Save (string filename);
abstract member Save : string -> unit
override this.Save : string -> unit
Public Overridable Sub Save (filename As String)

Parámetros

filename
String

Ubicación del archivo donde se desea guardar el documento.

Excepciones

La operación no generarái un documento XML bien formado (por ejemplo, ningún documento duplicado o declaraciones XML duplicadas).

Ejemplos

En el ejemplo siguiente se carga XML en un objeto XmlDocument, se modifica y, a continuación, se guarda en un archivo denominado data.xml.

#using <System.Xml.dll>

using namespace System;
using namespace System::Xml;
int main()
{
   
   // Create the XmlDocument.
   XmlDocument^ doc = gcnew XmlDocument;
   doc->LoadXml( "<item><name>wrench</name></item>" );
   
   // Add a price element.
   XmlElement^ newElem = doc->CreateElement( "price" );
   newElem->InnerText = "10.95";
   doc->DocumentElement->AppendChild( newElem );
   
   // Save the document to a file. White space is
   // preserved (no white space).
   doc->PreserveWhitespace = true;
   doc->Save( "data.xml" );
}

using System;
using System.Xml;

public class Sample {

  public static void Main() {

    // Create the XmlDocument.
    XmlDocument doc = new XmlDocument();
    doc.LoadXml("<item><name>wrench</name></item>");

    // Add a price element.
    XmlElement newElem = doc.CreateElement("price");
    newElem.InnerText = "10.95";
    doc.DocumentElement.AppendChild(newElem);

    // Save the document to a file. White space is
    // preserved (no white space).
    doc.PreserveWhitespace = true;
    doc.Save("data.xml");
  }
}
Imports System.Xml

public class Sample 

  public shared sub Main() 
 
    ' Create the XmlDocument.
    Dim doc as XmlDocument = new XmlDocument()
    doc.LoadXml("<item><name>wrench</name></item>")

    ' Add a price element.
    Dim newElem as XmlElement = doc.CreateElement("price")
    newElem.InnerText = "10.95"
    doc.DocumentElement.AppendChild(newElem)

    ' Save the document to a file. White space is
    ' preserved (no white space).
    doc.PreserveWhitespace = true
    doc.Save("data.xml")
 
  end sub
end class

El archivo data.xml contendrá el siguiente XML: <item><name>wrench</name><price>10.95</price></item>.

Comentarios

El espacio en blanco se conserva en el archivo de salida solo si PreserveWhitespace se establece trueen .

XmlDeclaration del objeto actual XmlDocument determina el atributo de codificación en el documento guardado. El valor del atributo de codificación se toma de la XmlDeclaration.Encoding propiedad . XmlDocument Si no tiene un xmlDeclaration o si xmlDeclaration no tiene un atributo de codificación, el documento guardado tampoco tendrá uno.

Cuando se guarda el documento, se generan atributos xmlns para conservar correctamente la identidad del nodo (nombre local + URI de espacio de nombres). Por ejemplo, el siguiente código de C#

XmlDocument doc = new XmlDocument();  
doc.AppendChild(doc.CreateElement("item","urn:1"));  
doc.Save(Console.Out);  

genera este atributo <item xmls="urn:1"/>xmls .

Este método es una extensión de Microsoft al Modelo de objetos de documento (DOM).

Tenga en cuenta que solo el Save método aplica un documento XML bien formado. Todas las demás Save sobrecargas solo garantizan un fragmento bien formado.

Se aplica a

Save(XmlWriter)

Guarda el documento XML en el XmlWriter especificado.

public:
 virtual void Save(System::Xml::XmlWriter ^ w);
public virtual void Save (System.Xml.XmlWriter w);
abstract member Save : System.Xml.XmlWriter -> unit
override this.Save : System.Xml.XmlWriter -> unit
Public Overridable Sub Save (w As XmlWriter)

Parámetros

w
XmlWriter

XmlWriter en el que se desea guardar.

Excepciones

La operación no generarái un documento XML bien formado (por ejemplo, ningún documento duplicado o declaraciones XML duplicadas).

Ejemplos

En el ejemplo siguiente se carga XML en un XmlDocument objeto y se guarda en un archivo.

#using <System.Xml.dll>

using namespace System;
using namespace System::Xml;
int main()
{
   
   // Create the XmlDocument.
   XmlDocument^ doc = gcnew XmlDocument;
   doc->LoadXml( "<item><name>wrench</name></item>" );
   
   // Add a price element.
   XmlElement^ newElem = doc->CreateElement( "price" );
   newElem->InnerText = "10.95";
   doc->DocumentElement->AppendChild( newElem );
   
   // Save the document to a file and auto-indent the output.
   XmlTextWriter^ writer = gcnew XmlTextWriter( "data.xml", nullptr );
   writer->Formatting = Formatting::Indented;
   doc->Save( writer );
}

using System;
using System.Xml;

public class Sample {

  public static void Main() {

    // Create the XmlDocument.
    XmlDocument doc = new XmlDocument();
    doc.LoadXml("<item><name>wrench</name></item>");

   // Add a price element.
   XmlElement newElem = doc.CreateElement("price");
   newElem.InnerText = "10.95";
   doc.DocumentElement.AppendChild(newElem);

   XmlWriterSettings settings = new XmlWriterSettings();
   settings.Indent = true;
   // Save the document to a file and auto-indent the output.
   XmlWriter writer = XmlWriter.Create("data.xml", settings);
    doc.Save(writer);
  }
}
Imports System.Xml

public class Sample 

  public shared sub Main() 
 
    ' Create the XmlDocument.
    Dim doc as XmlDocument = new XmlDocument()
    doc.LoadXml("<item><name>wrench</name></item>")

   ' Add a price element.
   Dim newElem as XmlElement = doc.CreateElement("price")
   newElem.InnerText = "10.95"
   doc.DocumentElement.AppendChild(newElem)

   Dim settings As New XmlWriterSettings()
   settings.Indent = True
   ' Save the document to a file and auto-indent the output.
   Dim writer As XmlWriter = XmlWriter.Create("data.xml", settings)
    doc.Save(writer)
  end sub
end class

Comentarios

El espacio en blanco solo se conserva si PreserveWhitespace se establece en true.

La codificación de XmlWriter determina la codificación que se escribe (la codificación del nodo XmlDeclaration se reemplaza por la codificación de XmlWriter). Si no se ha especificado ninguna codificación en XmlWriter, XmlDocument se guarda sin un atributo de codificación.

Cuando se guarda el documento, se generan atributos xmlns para conservar correctamente la identidad del nodo (LocalName + NamespaceURI). Por ejemplo, el siguiente código de C#

XmlDocument doc = new XmlDocument();  
doc.AppendChild(doc.CreateElement("item","urn:1"));  
doc.Save(Console.Out);  

genera este atributo xmls:

<item  
    xmls="urn:1"/>  

Este método es una extensión de Microsoft al Modelo de objetos de documento (DOM).

Tenga en cuenta que solo el Save método aplica un documento XML bien formado. Todas las demás Save sobrecargas solo garantizan un fragmento bien formado.

Consulte también

Se aplica a