Condividi tramite


XmlDocument.Save Metodo

Definizione

Salva il documento XML nella posizione specificata.

Overload

Save(Stream)

Salva il documento XML nel flusso specificato.

Save(TextWriter)

Salva il documento XML nell'oggetto TextWriter specificato.

Save(String)

Salva il documento XML nel file specificato. Se il file specificato esiste già, il metodo lo sovrascrive.

Save(XmlWriter)

Salva il documento XML nell'oggetto XmlWriter specificato.

Save(Stream)

Salva il documento XML nel flusso specificato.

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)

Parametri

outStream
Stream

Flusso in cui salvare.

Eccezioni

L'operazione non genera un documento XML ben formato (ad esempio, nessun elemento documento o dichiarazioni XML duplicate).

Commenti

Lo spazio vuoto viene mantenuto solo se PreserveWhitespace è impostato su true.

L'xmlDeclaration dell'oggetto corrente XmlDocument determina l'attributo di codifica nel documento salvato. Il valore dell'attributo XmlDeclaration.Encoding di codifica viene tratto dalla proprietà . Se l'oggetto XmlDocument non ha una xmlDeclaration o se XmlDeclaration non ha un attributo di codifica, il documento salvato non ne avrà uno.

Quando il documento viene salvato, gli attributi xmlns vengono generati per rendere permanente l'identità del nodo (nome locale e URI dello spazio dei nomi) correttamente. Ad esempio, il codice C# seguente

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

genera questo attributo <item xmls="urn:1"/>xmls .

Questo metodo è un'estensione Microsoft per il modello a oggetti document (DOM).

Si noti che solo il Save metodo applica un documento XML ben formato. Tutti gli altri Save overload garantiscono solo un frammento ben formato.

Si applica a

Save(TextWriter)

Salva il documento XML nell'oggetto TextWriter specificato.

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)

Parametri

writer
TextWriter

Oggetto TextWriter in cui salvare.

Eccezioni

L'operazione non genera un documento XML ben formato (ad esempio, nessun elemento documento o dichiarazioni XML duplicate).

Commenti

La codifica nell'oggetto TextWriter determina la codifica scritta (la codifica del nodo XmlDeclaration viene sostituita dalla codifica dell'oggetto TextWriter). Se non è stata specificata alcuna codifica in , l'oggetto TextWriter``XmlDocument viene salvato senza un attributo di codifica.

Questo metodo è un'estensione Microsoft per il modello a oggetti document (DOM).

Si noti che solo il Save metodo applica un documento XML ben formato. Tutti gli altri Save overload garantiscono solo un frammento ben formato.

Si applica a

Save(String)

Salva il documento XML nel file specificato. Se il file specificato esiste già, il metodo lo sovrascrive.

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)

Parametri

filename
String

Percorso del file in cui salvare il documento.

Eccezioni

L'operazione non genera un documento XML ben formato (ad esempio, nessun elemento documento o dichiarazioni XML duplicate).

Esempio

L'esempio seguente carica XML in un oggetto XmlDocument, lo modifica e lo salva in un file denominato 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

Il file data.xml conterrà il codice XML seguente: <item><name>wrench</name><price>10.95</price></item>.

Commenti

Lo spazio vuoto viene mantenuto nel file di output solo se PreserveWhitespace è impostato su true.

L'xmlDeclaration dell'oggetto corrente XmlDocument determina l'attributo di codifica nel documento salvato. Il valore dell'attributo XmlDeclaration.Encoding di codifica viene tratto dalla proprietà . Se l'oggetto XmlDocument non ha una xmlDeclaration o se XmlDeclaration non ha un attributo di codifica, il documento salvato non ne avrà uno.

Quando il documento viene salvato, gli attributi xmlns vengono generati per rendere permanente l'identità del nodo (nome locale e URI dello spazio dei nomi) correttamente. Ad esempio, il codice C# seguente

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

genera questo attributo <item xmls="urn:1"/>xmls .

Questo metodo è un'estensione Microsoft per il modello a oggetti document (DOM).

Si noti che solo il Save metodo applica un documento XML ben formato. Tutti gli altri Save overload garantiscono solo un frammento ben formato.

Si applica a

Save(XmlWriter)

Salva il documento XML nell'oggetto XmlWriter specificato.

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)

Parametri

w
XmlWriter

Oggetto XmlWriter in cui salvare.

Eccezioni

L'operazione non genera un documento XML ben formato (ad esempio, nessun elemento documento o dichiarazioni XML duplicate).

Esempio

Nell'esempio seguente il codice XML viene caricato in un XmlDocument oggetto e salvato in un file.

#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

Commenti

Lo spazio vuoto viene mantenuto solo se PreserveWhitespace è impostato su true.

La codifica in XmlWriter determina la codifica scritta (la codifica del nodo XmlDeclaration viene sostituita dalla codifica dell'oggetto XmlWriter). Se non è stata specificata alcuna codifica in XmlWriter, viene XmlDocument salvato senza un attributo di codifica.

Quando il documento viene salvato, gli attributi xmlns vengono generati per rendere persistente correttamente l'identità del nodo (LocalName + NamespaceURI). Ad esempio, il codice C# seguente

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

genera questo attributo xmls:

<item  
    xmls="urn:1"/>  

Questo metodo è un'estensione Microsoft per il dom (Document Object Model).

Si noti che solo il Save metodo applica un documento XML ben formato. Tutti gli altri Save overload garantiscono solo un frammento ben formato.

Vedi anche

Si applica a