次の方法で共有


XmlDocument.Save メソッド

定義

指定した位置に XML ドキュメントを保存します。

オーバーロード

Save(Stream)

指定したストリームに XML ドキュメントを保存します。

Save(TextWriter)

指定した TextWriter に XML ドキュメントを保存します。

Save(String)

指定したファイルに XML ドキュメントを保存します。 指定したファイルが存在する場合は、このメソッドはそれを上書きします。

Save(XmlWriter)

指定した XmlWriter に XML ドキュメントを保存します。

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 宣言が重複している、など)。

注釈

空白は、に設定trueされている場合PreserveWhitespaceにのみ保持されます。

現在 XmlDocument のオブジェクトの XmlDeclaration によって、保存されたドキュメント内のエンコード属性が決まります。 エンコード属性の値は、プロパティから取得されます XmlDeclaration.EncodingXmlDocument XmlDeclaration がない場合、または XmlDeclaration にエンコード属性がない場合、保存されたドキュメントにはどちらも含まれません。

ドキュメントが保存されると、ノード ID (ローカル名と名前空間 URI) を正しく保持するために xmlns 属性が生成されます。 たとえば、次の 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)

指定した TextWriter に XML ドキュメントを保存します。

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>が含まれます。

注釈

空白は、出力ファイルに設定trueされている場合PreserveWhitespaceにのみ保持されます。

現在 XmlDocument のオブジェクトの XmlDeclaration によって、保存されたドキュメント内のエンコード属性が決まります。 エンコード属性の値は、プロパティから取得されます XmlDeclaration.EncodingXmlDocument XmlDeclaration がない場合、または XmlDeclaration にエンコード属性がない場合、保存されたドキュメントにはどちらも含まれません。

ドキュメントが保存されると、ノード ID (ローカル名と名前空間 URI) を正しく保持するために xmlns 属性が生成されます。 たとえば、次の 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)

指定した XmlWriter に XML ドキュメントを保存します。

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

注釈

空白は、次に設定trueされている場合PreserveWhitespaceにのみ保持されます。

エンコードによって XmlWriter 、書き出されるエンコードが決まります (XmlDeclaration ノードのエンコードは、エンコードに XmlWriter置き換えられます)。 エンコード XmlWriterが指定されていない場合は、 XmlDocument エンコード属性なしで保存されます。

ドキュメントを保存すると、ノード ID (LocalName + NamespaceURI) を正しく保持するために xmlns 属性が生成されます。 たとえば、次の C# コード

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

は、次の xmls 属性を生成します。

<item  
    xmls="urn:1"/>  

このメソッドは、ドキュメント オブジェクト モデル (DOM) の Microsoft 拡張機能です。

適切な形式の XML ドキュメントは Save メソッドによってのみ適用されることに注意してください。 他 Save のすべてのオーバーロードでは、整形式フラグメントのみが保証されます。

こちらもご覧ください

適用対象