XmlDocument.Save メソッド

定義

指定した位置に XML ドキュメントを保存します。Saves the XML document to the specified location.

オーバーロード

Save(Stream)

指定したストリームに XML ドキュメントを保存します。Saves the XML document to the specified stream.

Save(TextWriter)

指定した TextWriter に XML ドキュメントを保存します。Saves the XML document to the specified TextWriter.

Save(String)

指定したファイルに XML ドキュメントを保存します。Saves the XML document to the specified file. 指定したファイルが存在する場合は、このメソッドはそれを上書きします。If the specified file exists, this method overwrites it.

Save(XmlWriter)

指定した XmlWriter に XML ドキュメントを保存します。Saves the XML document to the specified XmlWriter.

Save(Stream)

指定したストリームに XML ドキュメントを保存します。Saves the XML document to the specified stream.

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

保存先のストリーム。The stream to which you want to save.

例外

操作によって、適切な形式の XML ドキュメントが生成されません (たとえば、ドキュメントの要素がない、XML 宣言が重複している、など)。The operation would not result in a well formed XML document (for example, no document element or duplicate XML declarations).

注釈

がに設定されてPreserveWhitespaceいる場合にtrueのみ、空白が保持されます。White space is preserved only if PreserveWhitespace is set to true.

現在XmlDocumentのオブジェクトの XmlDeclaration は、保存されたドキュメントの encoding 属性を決定します。The XmlDeclaration of the current XmlDocument object determines the encoding attribute in the saved document. Encoding 属性の値は、 XmlDeclaration.Encodingプロパティから取得されます。The value of the encoding attribute is taken from the XmlDeclaration.Encoding property. XmlDocument XmlDeclaration がない場合、または XmlDeclaration に encoding 属性がない場合、保存されたドキュメントにはいずれも含まれません。If the XmlDocument does not have an XmlDeclaration, or if the XmlDeclaration does not have an encoding attribute, the saved document will not have one either.

ドキュメントを保存すると、xmlns 属性が生成され、ノード id (ローカル名と名前空間 URI) が適切に保持されます。When the document is saved, xmlns attributes are generated to persist the node identity (local name + namespace URI) correctly. たとえば、次C#のコードを使用します。For example, the following C# code

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

この xml 属性<item xmls="urn:1"/>を生成します。generates this xmls attribute <item xmls="urn:1"/>.

このメソッドは、ドキュメントオブジェクトモデル (DOM) の Microsoft 拡張機能です。This method is a Microsoft extension to the Document Object Model (DOM).

メソッドによってSaveのみ、整形式の XML ドキュメントが適用されることに注意してください。Note that only the Save method enforces a well-formed XML document. 他のSaveすべてのオーバーロードは、整形式のフラグメントのみを保証します。All other Save overloads only guarantee a well-formed fragment.

Save(TextWriter)

指定した TextWriter に XML ドキュメントを保存します。Saves the XML document to the specified 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

保存先の TextWriterThe TextWriter to which you want to save.

例外

操作によって、適切な形式の XML ドキュメントが生成されません (たとえば、ドキュメントの要素がない、XML 宣言が重複している、など)。The operation would not result in a well formed XML document (for example, no document element or duplicate XML declarations).

注釈

TextWriterエンコーディングによって、書き込まれたエンコーディングが決まります (XmlDeclaration ノードのエンコーディングは、 TextWriterのエンコーディングによって置き換えられます)。The encoding on the TextWriter determines the encoding that is written out (The encoding of the XmlDeclaration node is replaced by the encoding of the TextWriter). TextWriterXmlDocumentエンコーディングが指定されていない場合、は encoding 属性なしで保存されます。If there was no encoding specified on the TextWriter, the XmlDocument is saved without an encoding attribute.

このメソッドは、ドキュメントオブジェクトモデル (DOM) の Microsoft 拡張機能です。This method is a Microsoft extension to the Document Object Model (DOM).

メソッドによってSaveのみ、整形式の XML ドキュメントが適用されることに注意してください。Note that only the Save method enforces a well-formed XML document. 他のSaveすべてのオーバーロードは、整形式のフラグメントのみを保証します。All other Save overloads only guarantee a well-formed fragment.

Save(String)

指定したファイルに XML ドキュメントを保存します。Saves the XML document to the specified file. 指定したファイルが存在する場合は、このメソッドはそれを上書きします。If the specified file exists, this method overwrites it.

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

ドキュメントを保存するファイルの位置。The location of the file where you want to save the document.

例外

操作によって、適切な形式の XML ドキュメントが生成されません (たとえば、ドキュメントの要素がない、XML 宣言が重複している、など)。The operation would not result in a well formed XML document (for example, no document element or duplicate XML declarations).

次の例では、XML を XmlDocument オブジェクトに読み込み、それを変更して、data .xml という名前のファイルに保存します。The following example loads XML into an XmlDocument object, modifies it, and then saves it to a file named 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

データ .xml ファイルには、次の XML <item><name>wrench</name><price>10.95</price></item>が含まれます。The data.xml file will contain the following XML: <item><name>wrench</name><price>10.95</price></item>.

注釈

がにPreserveWhitespace true設定されている場合にのみ、出力ファイルに空白文字が保持されます。White space is preserved in the output file only if PreserveWhitespace is set to true.

現在XmlDocumentのオブジェクトの XmlDeclaration は、保存されたドキュメントの encoding 属性を決定します。The XmlDeclaration of the current XmlDocument object determines the encoding attribute in the saved document. Encoding 属性の値は、 XmlDeclaration.Encodingプロパティから取得されます。The value of the encoding attribute is taken from the XmlDeclaration.Encoding property. XmlDocument XmlDeclaration がない場合、または XmlDeclaration に encoding 属性がない場合、保存されたドキュメントにはいずれも含まれません。If the XmlDocument does not have an XmlDeclaration, or if the XmlDeclaration does not have an encoding attribute, the saved document will not have one either.

ドキュメントを保存すると、xmlns 属性が生成され、ノード id (ローカル名と名前空間 URI) が適切に保持されます。When the document is saved, xmlns attributes are generated to persist the node identity (local name + namespace URI) correctly. たとえば、次C#のコードを使用します。For example, the following C# code

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

この xml 属性<item xmls="urn:1"/>を生成します。generates this xmls attribute <item xmls="urn:1"/>.

このメソッドは、ドキュメントオブジェクトモデル (DOM) の Microsoft 拡張機能です。This method is a Microsoft extension to the Document Object Model (DOM).

メソッドによってSaveのみ、整形式の XML ドキュメントが適用されることに注意してください。Note that only the Save method enforces a well-formed XML document. 他のSaveすべてのオーバーロードは、整形式のフラグメントのみを保証します。All other Save overloads only guarantee a well-formed fragment.

Save(XmlWriter)

指定した XmlWriter に XML ドキュメントを保存します。Saves the XML document to the specified 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

保存先の XmlWriterThe XmlWriter to which you want to save.

例外

操作によって、適切な形式の XML ドキュメントが生成されません (たとえば、ドキュメントの要素がない、XML 宣言が重複している、など)。The operation would not result in a well formed XML document (for example, no document element or duplicate XML declarations).

次の例では、XML XmlDocumentをオブジェクトに読み込み、ファイルに保存します。The following example loads XML into an XmlDocument object and saves it out to a 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

注釈

がに設定されてPreserveWhitespaceいる場合にtrueのみ、空白が保持されます。White space is preserved only if PreserveWhitespace is set to true.

XmlWriterエンコーディングによって、書き込まれたエンコーディングが決まります (XmlDeclaration ノードのエンコーディングは、 XmlWriterのエンコーディングによって置き換えられます)。The encoding on the XmlWriter determines the encoding that is written out (The encoding of the XmlDeclaration node is replaced by the encoding of the XmlWriter). XmlWriterXmlDocumentエンコーディングが指定されていない場合、は encoding 属性なしで保存されます。If there was no encoding specified on the XmlWriter, the XmlDocument is saved without an encoding attribute.

ドキュメントを保存すると、xmlns 属性が生成され、ノード id (LocalName + NamespaceURI) が適切に保持されます。When the document is saved, xmlns attributes are generated to persist the node identity (LocalName + NamespaceURI) correctly. たとえば、次C#のコードを使用します。For example, the following C# code

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

では、次の xml 属性が生成されます。generates this xmls attribute:

<item  
    xmls="urn:1"/>  

このメソッドは、ドキュメントオブジェクトモデル (DOM) の Microsoft 拡張機能です。This method is a Microsoft extension to the Document Object Model (DOM).

メソッドによってSaveのみ、整形式の XML ドキュメントが適用されることに注意してください。Note that only the Save method enforces a well-formed XML document. 他のSaveすべてのオーバーロードは、整形式のフラグメントのみを保証します。All other Save overloads only guarantee a well-formed fragment.

こちらもご覧ください

適用対象