XmlDocument.Save 方法

定義

將 XML 文件儲存至指定的位置。

多載

Save(Stream)

將 XML 文件儲存至指定的資料流。

Save(TextWriter)

將 XML 文件儲存至指定的 TextWriter

Save(String)

將 XML 文件儲存至指定的檔案。 如果指定的檔案存在,則這個方法會覆寫該檔案。

Save(XmlWriter)

將 XML 文件儲存至指定的 XmlWriter

Save(Stream)

將 XML 文件儲存至指定的資料流。

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)

參數

outStream
Stream

要在其中儲存的資料流。

例外狀況

作業不會產生格式正確的 XML 文件 (例如,沒有文件項目或有重複的 XML 宣告)。

備註

只有在 設定為 truePreserveWhitespace ,才會保留空白字元。

目前 XmlDocument 物件的 XmlDeclaration 會決定儲存檔中的編碼屬性。 編碼屬性的值取自 XmlDeclaration.Encoding 屬性。 XmlDocument如果 沒有 XmlDeclaration,或 XmlDeclaration 沒有編碼屬性,則儲存的檔將不會有一個。

儲存檔時,會產生 xmlns 屬性來保存節點識別 (本機名稱 + 命名空間 URI) 正確。 例如,下列 C# 程式碼

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

會產生這個 xmls 屬性 <item xmls="urn:1"/>

此方法是檔物件模型 (DOM) 的 Microsoft 延伸模組。

請注意,只有 Save 方法會強制執行格式正確的 XML 檔。 所有其他 Save 多載只保證格式正確的片段。

適用於

Save(TextWriter)

將 XML 文件儲存至指定的 TextWriter

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)

參數

writer
TextWriter

要儲存的目標 TextWriter

例外狀況

作業不會產生格式正確的 XML 文件 (例如,沒有文件項目或有重複的 XML 宣告)。

備註

上的 TextWriter 編碼會決定寫出 (XmlDeclaration 節點的編碼方式會取代為) 的 TextWriter 編碼方式。 如果在 上 TextWriter 沒有指定編碼方式,則會 XmlDocument 在沒有編碼屬性的情況下儲存 。

此方法是檔物件模型 (DOM) 的 Microsoft 延伸模組。

請注意,只有 Save 方法會強制執行格式正確的 XML 檔。 所有其他 Save 多載只保證格式正確的片段。

適用於

Save(String)

將 XML 文件儲存至指定的檔案。 如果指定的檔案存在,則這個方法會覆寫該檔案。

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)

參數

filename
String

您要儲存文件的目標檔案位置。

例外狀況

作業不會產生格式正確的 XML 文件 (例如,沒有文件項目或有重複的 XML 宣告)。

範例

下列範例會將 XML 載入 XmlDocument 物件、修改它,然後將它儲存至名為 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

data.xml檔案將包含下列 XML: <item><name>wrench</name><price>10.95</price></item>

備註

只有在 設為 truePreserveWhitespace ,輸出檔才會保留空白字元。

目前 XmlDocument 物件的 XmlDeclaration 會決定儲存檔中的編碼屬性。 編碼屬性的值取自 XmlDeclaration.Encoding 屬性。 XmlDocument如果 沒有 XmlDeclaration,或 XmlDeclaration 沒有編碼屬性,則儲存的檔將不會有一個。

儲存檔時,會產生 xmlns 屬性來保存節點識別 (本機名稱 + 命名空間 URI) 正確。 例如,下列 C# 程式碼

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

會產生這個 xmls 屬性 <item xmls="urn:1"/>

此方法是檔物件模型 (DOM) 的 Microsoft 延伸模組。

請注意,只有 Save 方法會強制執行格式正確的 XML 檔。 所有其他 Save 多載只保證格式正確的片段。

適用於

Save(XmlWriter)

將 XML 文件儲存至指定的 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)

參數

w
XmlWriter

要儲存的目標 XmlWriter

例外狀況

作業不會產生格式正確的 XML 文件 (例如,沒有文件項目或有重複的 XML 宣告)。

範例

下列範例會將 XML XmlDocument 載入物件,並將它儲存至檔案。

#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

備註

只有在 設定為 truePreserveWhitespace ,才會保留空白字元。

上的 XmlWriter 編碼會決定寫出 (XmlDeclaration 節點的編碼方式會取代為) 的 XmlWriter 編碼方式。 如果在 上 XmlWriter 沒有指定編碼方式,則會 XmlDocument 在沒有編碼屬性的情況下儲存 。

儲存檔時,會產生 xmlns 屬性來保存節點識別, (LocalName + NamespaceURI) 正確。 例如,下列 C# 程式碼

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

產生這個 xmls 屬性:

<item  
    xmls="urn:1"/>  

此方法是檔物件模型 (DOM) 的 Microsoft 延伸模組。

請注意,只有 Save 方法會強制執行格式正確的 XML 檔。 所有其他 Save 多載只保證格式正確的片段。

另請參閱

適用於