XmlDocument.Save Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Zapisuje dokument XML w określonej lokalizacji.
Przeciążenia
Save(Stream) |
Zapisuje dokument XML w określonym strumieniu. |
Save(TextWriter) |
Zapisuje dokument XML w określonym TextWriterpliku . |
Save(String) |
Zapisuje dokument XML w określonym pliku. Jeśli określony plik istnieje, ta metoda zastępuje go. |
Save(XmlWriter) |
Zapisuje dokument XML w określonym obiekcie XmlWriter. |
Save(Stream)
Zapisuje dokument XML w określonym strumieniu.
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
Strumień, do którego chcesz zapisać.
Wyjątki
Operacja nie spowoduje utworzenia poprawnie sformułowanego dokumentu XML (na przykład bez elementu dokumentu ani zduplikowanych deklaracji XML).
Uwagi
Białe znaki są zachowywane tylko wtedy, gdy PreserveWhitespace jest ustawiona wartość true
.
Właściwość XmlDeclaration bieżącego XmlDocument
obiektu określa atrybut kodowania w zapisanym dokumencie. Wartość atrybutu kodowania jest pobierana z XmlDeclaration.Encoding właściwości . Jeśli obiekt XmlDocument
nie ma deklaracji XmlDeclaration lub jeśli właściwość XmlDeclaration nie ma atrybutu kodowania, zapisany dokument również nie będzie miał tego atrybutu.
Po zapisaniu dokumentu atrybuty xmlns są generowane w celu poprawnego utrwalania tożsamości węzła (lokalnej nazwy i identyfikatora URI przestrzeni nazw). Na przykład poniższy kod w języku C#
XmlDocument doc = new XmlDocument();
doc.AppendChild(doc.CreateElement("item","urn:1"));
doc.Save(Console.Out);
generuje ten atrybut <item xmls="urn:1"/>
xmls .
Ta metoda jest rozszerzeniem firmy Microsoft do modelu obiektów dokumentów (DOM).
Należy pamiętać, że tylko Save metoda wymusza poprawnie sformułowany dokument XML. Wszystkie inne Save
przeciążenia gwarantują tylko dobrze sformułowany fragment.
Dotyczy
Save(TextWriter)
Zapisuje dokument XML w określonym TextWriterpliku .
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
Element TextWriter
, do którego chcesz zapisać.
Wyjątki
Operacja nie spowoduje utworzenia poprawnie sformułowanego dokumentu XML (na przykład bez elementu dokumentu ani zduplikowanych deklaracji XML).
Uwagi
Kodowanie w obiekcie TextWriter
określa kodowanie zapisane (kodowanie węzła XmlDeclaration jest zastępowane przez kodowanie elementu TextWriter
). Jeśli w elemecie TextWriter
nie określono kodowania , XmlDocument
parametr jest zapisywany bez atrybutu kodowania.
Ta metoda jest rozszerzeniem firmy Microsoft do modelu obiektów dokumentów (DOM).
Należy pamiętać, że tylko Save metoda wymusza poprawnie sformułowany dokument XML. Wszystkie inne Save
przeciążenia gwarantują tylko dobrze sformułowany fragment.
Dotyczy
Save(String)
Zapisuje dokument XML w określonym pliku. Jeśli określony plik istnieje, ta metoda zastępuje go.
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
Lokalizacja pliku, w którym chcesz zapisać dokument.
Wyjątki
Operacja nie spowoduje utworzenia poprawnie sformułowanego dokumentu XML (na przykład bez elementu dokumentu ani zduplikowanych deklaracji XML).
Przykłady
Poniższy przykład ładuje kod XML do obiektu XmlDocument, modyfikuje go, a następnie zapisuje go w pliku o nazwie 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
Plik data.xml będzie zawierać następujący kod XML: <item><name>wrench</name><price>10.95</price></item>
.
Uwagi
Białe znaki są zachowywane w pliku wyjściowym tylko wtedy, gdy PreserveWhitespace jest ustawiona wartość true
.
Właściwość XmlDeclaration bieżącego XmlDocument
obiektu określa atrybut kodowania w zapisanym dokumencie. Wartość atrybutu kodowania jest pobierana z XmlDeclaration.Encoding właściwości . Jeśli obiekt XmlDocument
nie ma deklaracji XmlDeclaration lub jeśli właściwość XmlDeclaration nie ma atrybutu kodowania, zapisany dokument również nie będzie miał tego atrybutu.
Po zapisaniu dokumentu atrybuty xmlns są generowane w celu poprawnego utrwalania tożsamości węzła (lokalnej nazwy i identyfikatora URI przestrzeni nazw). Na przykład poniższy kod w języku C#
XmlDocument doc = new XmlDocument();
doc.AppendChild(doc.CreateElement("item","urn:1"));
doc.Save(Console.Out);
generuje ten atrybut <item xmls="urn:1"/>
xmls .
Ta metoda jest rozszerzeniem firmy Microsoft do modelu obiektów dokumentów (DOM).
Należy pamiętać, że tylko Save metoda wymusza poprawnie sformułowany dokument XML. Wszystkie inne Save
przeciążenia gwarantują tylko dobrze sformułowany fragment.
Dotyczy
Save(XmlWriter)
Zapisuje dokument XML w określonym obiekcie XmlWriter.
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
Element XmlWriter
, do którego chcesz zapisać.
Wyjątki
Operacja nie spowoduje dobrze sformułowanego dokumentu XML (na przykład nie ma elementu dokumentu ani zduplikowanych deklaracji XML).
Przykłady
Poniższy przykład ładuje kod XML do XmlDocument
obiektu i zapisuje go w pliku.
#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
Uwagi
Odstęp jest zachowywany tylko wtedy, gdy PreserveWhitespace ustawiono wartość true
.
Kodowanie w obiekcie XmlWriter
określa kodowanie, które zostało zapisane (kodowanie węzła XmlDeclaration jest zastępowane przez kodowanie elementu XmlWriter
). Jeśli w elemecie XmlWriter
nie określono kodowania , XmlDocument
parametr jest zapisywany bez atrybutu kodowania.
Po zapisaniu dokumentu atrybuty xmlns są generowane w celu poprawnego utrwalania tożsamości węzła (LocalName + NamespaceURI). Na przykład następujący kod w języku C#
XmlDocument doc = new XmlDocument();
doc.AppendChild(doc.CreateElement("item","urn:1"));
doc.Save(Console.Out);
generuje ten atrybut xmls:
<item
xmls="urn:1"/>
Ta metoda jest rozszerzeniem firmy Microsoft do modelu obiektów dokumentów (DOM).
Należy pamiętać, że tylko Save metoda wymusza dobrze sformułowany dokument XML. Wszystkie inne Save
przeciążenia gwarantują tylko dobrze sformułowany fragment.