Sdílet prostřednictvím


XmlDocument.Save Metoda

Definice

Uloží dokument XML do zadaného umístění.

Přetížení

Save(Stream)

Uloží dokument XML do zadaného datového proudu.

Save(TextWriter)

Uloží dokument XML do zadaného TextWritersouboru .

Save(String)

Uloží dokument XML do zadaného souboru. Pokud zadaný soubor existuje, tato metoda jej přepíše.

Save(XmlWriter)

Uloží dokument XML do zadaného XmlWritersouboru .

Save(Stream)

Uloží dokument XML do zadaného datového proudu.

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)

Parametry

outStream
Stream

Datový proud, do kterého chcete uložit.

Výjimky

Operace by neměla za následek dobře formátovaný dokument XML (například žádný prvek dokumentu nebo duplicitní deklarace XML).

Poznámky

Prázdné znaky se zachovají pouze v případě, že PreserveWhitespace je nastavena hodnota true.

XmlDeclaration aktuálního XmlDocument objektu určuje atribut kódování v uloženém dokumentu. Hodnota atributu kódování je převzata z XmlDeclaration.Encoding vlastnosti. XmlDocument Pokud atribut XmlDeclaration nemá, nebo pokud XmlDeclaration nemá atribut kódování, uložený dokument ho nebude mít ani jeden.

Při uložení dokumentu se vygenerují atributy xmlns, aby se správně zachovala identita uzlu (místní název + identifikátor URI oboru názvů). Například následující kód jazyka C#

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

generuje tento atribut <item xmls="urn:1"/>xmls .

Tato metoda je rozšířením Microsoftu na model DOM (Document Object Model).

Všimněte si, že pouze Save metoda vynucuje dobře formátovaný dokument XML. Všechny ostatní Save přetížení pouze zaručuje dobře vytvořený fragment.

Platí pro

Save(TextWriter)

Uloží dokument XML do zadaného TextWritersouboru .

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)

Parametry

writer
TextWriter

Na TextWriter které chcete uložit.

Výjimky

Operace by neměla za následek dobře formátovaný dokument XML (například žádný prvek dokumentu nebo duplicitní deklarace XML).

Poznámky

Kódování na TextWriter určuje kódování, které je zapsáno (kódování uzlu XmlDeclaration je nahrazeno kódováním TextWriter). Pokud nebylo zadáno žádné kódování, TextWriter``XmlDocument uloží se bez atributu kódování.

Tato metoda je rozšířením Microsoftu na model DOM (Document Object Model).

Všimněte si, že pouze Save metoda vynucuje dobře formátovaný dokument XML. Všechny ostatní Save přetížení pouze zaručuje dobře vytvořený fragment.

Platí pro

Save(String)

Uloží dokument XML do zadaného souboru. Pokud zadaný soubor existuje, tato metoda jej přepíše.

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)

Parametry

filename
String

Umístění souboru, do kterého chcete dokument uložit.

Výjimky

Operace by neměla za následek dobře formátovaný dokument XML (například žádný prvek dokumentu nebo duplicitní deklarace XML).

Příklady

Následující příklad načte XML do objektu XmlDocument, upraví ho a pak ho uloží do souboru s názvem 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

Soubor data.xml bude obsahovat následující kód XML: <item><name>wrench</name><price>10.95</price></item>.

Poznámky

Prázdné znaky se zachovají ve výstupním souboru pouze v případě, že PreserveWhitespace je nastavena na truehodnotu .

XmlDeclaration aktuálního XmlDocument objektu určuje atribut kódování v uloženém dokumentu. Hodnota atributu kódování je převzata z XmlDeclaration.Encoding vlastnosti. XmlDocument Pokud atribut XmlDeclaration nemá, nebo pokud XmlDeclaration nemá atribut kódování, uložený dokument ho nebude mít ani jeden.

Při uložení dokumentu se vygenerují atributy xmlns, aby se správně zachovala identita uzlu (místní název + identifikátor URI oboru názvů). Například následující kód jazyka C#

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

generuje tento atribut <item xmls="urn:1"/>xmls .

Tato metoda je rozšířením Microsoftu na model DOM (Document Object Model).

Všimněte si, že pouze Save metoda vynucuje dobře formátovaný dokument XML. Všechny ostatní Save přetížení pouze zaručuje dobře vytvořený fragment.

Platí pro

Save(XmlWriter)

Uloží dokument XML do zadaného XmlWritersouboru .

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)

Parametry

w
XmlWriter

Na XmlWriter které chcete uložit.

Výjimky

Operace nebude mít za následek dobře formátovaný dokument XML (například žádný prvek dokumentu nebo duplicitní deklarace XML).

Příklady

Následující příklad načte XML do objektu XmlDocument a uloží ho do souboru.

#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

Poznámky

Prázdné místo je zachováno pouze v případě, že PreserveWhitespace je nastaveno na true.

Kódování XmlWriter určuje kódování, které je zapsáno (kódování uzlu XmlDeclaration je nahrazeno kódováním XmlWriter). Pokud nebylo v souboru zadáno XmlWriteržádné kódování, XmlDocument uloží se bez atributu kódování.

Po uložení dokumentu se atributy xmlns vygenerují, aby se identita uzlu (LocalName + NamespaceURI) zachovala správně. Například následující kód jazyka C#

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

generuje tento atribut xmls:

<item  
    xmls="urn:1"/>  

Tato metoda je rozšířením Microsoftu na model DOM (Document Object Model).

Všimněte si, že pouze Save metoda vynucuje dobře formátovaný dokument XML. Všechny ostatní Save přetížení zaručuje pouze dobře vytvořený fragment.

Viz také

Platí pro