Partilhar via


XmlDocument.Save Método

Definição

Salva o documento XML para o local especificado.

Sobrecargas

Save(Stream)

Salva o documento XML no fluxo especificado.

Save(TextWriter)

Salva o documento XML no TextWriter especificado.

Save(String)

Salva o documento XML no arquivo especificado. Se o arquivo especificado existir, este método o substituirá.

Save(XmlWriter)

Salva o documento XML no XmlWriter especificado.

Save(Stream)

Salva o documento XML no fluxo 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

O fluxo no qual você deseja salvar.

Exceções

A operação não resultaria em um documento XML bem formado (por exemplo, sem declarações XML duplicadas ou elementos do documento).

Comentários

O espaço em branco será preservado somente se PreserveWhitespace estiver definido como true.

A XmlDeclaration do objeto atual XmlDocument determina o atributo de codificação no documento salvo. O valor do atributo de codificação é obtido da XmlDeclaration.Encoding propriedade. Se não XmlDocument tiver uma XmlDeclaration ou se a XmlDeclaration não tiver um atributo de codificação, o documento salvo também não terá um.

Quando o documento é salvo, os atributos xmlns são gerados para persistir a identidade do nó (nome local + URI do namespace) corretamente. Por exemplo, o código C# a seguir

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

gera esse atributo <item xmls="urn:1"/>xmls.

Esse método é uma extensão da Microsoft para o DOM (Modelo de Objeto de Documento).

Observe que apenas o Save método impõe um documento XML bem formado. Todas as outras Save sobrecargas garantem apenas um fragmento bem formado.

Aplica-se a

Save(TextWriter)

Salva o documento XML no 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

O TextWriter no qual você deseja salvar.

Exceções

A operação não resultaria em um documento XML bem formado (por exemplo, sem declarações XML duplicadas ou elementos do documento).

Comentários

A codificação no determina a TextWriter codificação que é gravada (a codificação do nó XmlDeclaration é substituída pela codificação do TextWriter). Se não houver nenhuma codificação especificada no TextWriter, a XmlDocument opção será salva sem um atributo de codificação.

Esse método é uma extensão da Microsoft para o DOM (Modelo de Objeto de Documento).

Observe que apenas o Save método impõe um documento XML bem formado. Todas as outras Save sobrecargas garantem apenas um fragmento bem formado.

Aplica-se a

Save(String)

Salva o documento XML no arquivo especificado. Se o arquivo especificado existir, este método o substituirá.

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

O local do arquivo em que você deseja salvar o documento.

Exceções

A operação não resultaria em um documento XML bem formado (por exemplo, sem declarações XML duplicadas ou elementos do documento).

Exemplos

O exemplo a seguir carrega XML em um objeto XmlDocument, modifica-o e salva-o em um arquivo chamado 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

O arquivo data.xml conterá o seguinte XML: <item><name>wrench</name><price>10.95</price></item>.

Comentários

O espaço em branco será preservado no arquivo de saída somente se PreserveWhitespace estiver definido como true.

A XmlDeclaration do objeto atual XmlDocument determina o atributo de codificação no documento salvo. O valor do atributo de codificação é obtido da XmlDeclaration.Encoding propriedade. Se não XmlDocument tiver uma XmlDeclaration ou se a XmlDeclaration não tiver um atributo de codificação, o documento salvo também não terá um.

Quando o documento é salvo, os atributos xmlns são gerados para persistir a identidade do nó (nome local + URI do namespace) corretamente. Por exemplo, o código C# a seguir

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

gera esse atributo <item xmls="urn:1"/>xmls.

Esse método é uma extensão da Microsoft para o DOM (Modelo de Objeto de Documento).

Observe que apenas o Save método impõe um documento XML bem formado. Todas as outras Save sobrecargas garantem apenas um fragmento bem formado.

Aplica-se a

Save(XmlWriter)

Salva o documento XML no 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

O XmlWriter no qual você deseja salvar.

Exceções

A operação não resultaria em um documento XML bem formado (por exemplo, sem declarações XML duplicadas ou elementos do documento).

Exemplos

O exemplo a seguir carrega XML em um XmlDocument objeto e o salva em um arquivo.

#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

Comentários

O espaço em branco será preservado somente se PreserveWhitespace estiver definido como true.

A codificação no determina a XmlWriter codificação que é gravada (a codificação do nó XmlDeclaration é substituída pela codificação do XmlWriter). Se não houver nenhuma codificação especificada no XmlWriter, a XmlDocument opção será salva sem um atributo de codificação.

Quando o documento é salvo, os atributos xmlns são gerados para persistir a identidade do nó (LocalName + NamespaceURI) corretamente. Por exemplo, o código C# a seguir

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

gera esse atributo xmls:

<item  
    xmls="urn:1"/>  

Esse método é uma extensão da Microsoft para o DOM (Modelo de Objeto de Documento).

Observe que apenas o Save método impõe um documento XML bem formado. Todas as outras Save sobrecargas garantem apenas um fragmento bem formado.

Confira também

Aplica-se a