XDocument.Save メソッド

定義

この XDocument をシリアル化してファイル、TextWriter、または XmlWriter に書き込みます。Serializes this XDocument to a file, a TextWriter, or an XmlWriter.

オーバーロード

Save(XmlWriter)

この XDocument をシリアル化して XmlWriter に書き込みます。Serialize this XDocument to an XmlWriter.

Save(Stream)

この XDocument を指定した Stream に出力します。Outputs this XDocument to the specified Stream.

Save(TextWriter)

この XDocument をシリアル化して TextWriter に書き込みます。Serialize this XDocument to a TextWriter.

Save(String)

この XDocument をシリアル化してファイルに書き込み、既存のファイルを上書きします (存在する場合)。Serialize this XDocument to a file, overwriting an existing file, if it exists.

Save(Stream, SaveOptions)

オプションで書式設定動作を指定して、この XDocument を指定した Stream に出力します。Outputs this XDocument to the specified Stream, optionally specifying formatting behavior.

Save(TextWriter, SaveOptions)

この XDocument をシリアル化して TextWriter に書き込み、必要に応じて、書式設定を無効にします。Serialize this XDocument to a TextWriter, optionally disabling formatting.

Save(String, SaveOptions)

この XDocument をシリアル化してファイルに書き込み、必要に応じて、書式設定を無効にします。Serialize this XDocument to a file, optionally disabling formatting.

Save(XmlWriter)

この XDocument をシリアル化して XmlWriter に書き込みます。Serialize this XDocument to an XmlWriter.

public:
 void Save(System::Xml::XmlWriter ^ writer);
public void Save (System.Xml.XmlWriter writer);
member this.Save : System.Xml.XmlWriter -> unit
Public Sub Save (writer As XmlWriter)

パラメーター

writer
XmlWriter

XmlWriter の書き込み先の XDocumentA XmlWriter that the XDocument will be written to.

XDocumentXmlWriter に保存する方法を次の例に示します。The following example shows how to save an XDocument to an XmlWriter.

StringBuilder sb = new StringBuilder();  
XmlWriterSettings xws = new XmlWriterSettings();  
xws.OmitXmlDeclaration = true;  
xws.Indent = true;  
  
using (XmlWriter xw = XmlWriter.Create(sb, xws)) {  
    XDocument doc = new XDocument(  
        new XElement("Child",  
            new XElement("GrandChild", "some content")  
        )  
    );  
    doc.Save(xw);  
}  
  
Console.WriteLine(sb.ToString());  
Dim sb As StringBuilder = New StringBuilder()  
Dim xws As XmlWriterSettings = New XmlWriterSettings()  
xws.OmitXmlDeclaration = True  
xws.Indent = True  
  
Using xw = XmlWriter.Create(sb, xws)  
    Dim doc As XDocument = New XDocument(<Child><GrandChild>some content</GrandChild></Child>)  
    doc.Save(xw)  
  
End Using  
  
Console.WriteLine(sb.ToString())  

この例を実行すると、次の出力が生成されます。This example produces the following output:

<Child>  
  <GrandChild>some content</GrandChild>  
</Child>  

こちらもご覧ください

Save(Stream)

この XDocument を指定した Stream に出力します。Outputs this XDocument to the specified Stream.

public:
 void Save(System::IO::Stream ^ stream);
public void Save (System.IO.Stream stream);
member this.Save : System.IO.Stream -> unit

パラメーター

stream
Stream

この XDocument の出力先のストリーム。The stream to output this XDocument to.

注釈

シリアル化された XML はインデントされます。The serialized XML will be indented. 意味のない空白はすべて削除され、XML が適切にインデントされるように追加の空白が追加されます。All insignificant white space will be removed, and additional white space will be added so that the XML will be properly indented. このメソッドの動作は、意味のない空白文字が保持されないことです。The behavior of this method is that insignificant white space will not be preserved.

空白を制御する場合は、パラメーターとして SaveOptions を受け取る Save のオーバーロードを使用します。If you want to control white space, use the overload of Save that takes SaveOptions as a parameter. インデントされ XML を保存するには、DisableFormatting オプションを使用します。Use the DisableFormatting option to save unindented XML. これにより、ライターは XML ツリーに示されているすべての空白文字を正確に書き込みます。This will cause the writer to write all white spaces exactly as represented in the XML tree.

重複する名前空間宣言を削除する場合は、OmitDuplicateNamespaces オプションを使用します。Use OmitDuplicateNamespaces option if you want to remove duplicate namespace declarations.

Save(TextWriter)

この XDocument をシリアル化して TextWriter に書き込みます。Serialize this XDocument to a TextWriter.

public:
 void Save(System::IO::TextWriter ^ textWriter);
public void Save (System.IO.TextWriter textWriter);
member this.Save : System.IO.TextWriter -> unit

パラメーター

textWriter
TextWriter

TextWriter の書き込み先の XDocumentA TextWriter that the XDocument will be written to.

次の例では、XDocumentを作成し、ドキュメントを StringWriterに保存してから、文字列をコンソールに出力します。The following example creates an XDocument, saves the document to a StringWriter, and then prints the string to the console.

StringBuilder sb = new StringBuilder();  
  
XDocument doc = new XDocument(  
    new XElement("Root",  
        new XElement("Child", "content")  
    )  
);  
TextWriter tr = new StringWriter(sb);  
doc.Save(tr);  
Console.WriteLine(sb.ToString());  
Dim sb As StringBuilder = New StringBuilder()  
  
Dim doc As XDocument = _   
    <?xml version="1.0" encoding="utf-8"?>  
        <Root><Child>content</Child></Root>  
  
Dim tr As TextWriter = New StringWriter(sb)  
doc.Save(tr)  
Console.WriteLine(sb.ToString())  

この例を実行すると、次の出力が生成されます。This example produces the following output:

<?xml version="1.0" encoding="utf-16"?>  
<Root>  
  <Child>content</Child>  
</Root>  

注釈

シリアル化された XML はインデントされます。The serialized XML will be indented. 意味のない空白はすべて削除され、XML が適切にインデントされるように追加の空白が追加されます。All insignificant white space will be removed, and additional white space will be added so that the XML will be properly indented. このメソッドの動作は、意味のない空白文字が保持されないことです。The behavior of this method is that insignificant white space will not be preserved.

空白を制御する場合は、パラメーターとして SaveOptions を受け取る Save のオーバーロードを使用します。If you want to control white space, use the overload of Save that takes SaveOptions as a parameter. 詳細については、「 XML の読み込み時または解析時の空白の保持」と「シリアル化時の空白の維持」を参照してください。For more information, see Preserving White Space while Loading or Parsing XML and Preserving White Space While Serializing.

こちらもご覧ください

Save(String)

この XDocument をシリアル化してファイルに書き込み、既存のファイルを上書きします (存在する場合)。Serialize this XDocument to a file, overwriting an existing file, if it exists.

public:
 void Save(System::String ^ fileName);
public void Save (string fileName);
member this.Save : string -> unit
Public Sub Save (fileName As String)

パラメーター

fileName
String

ファイルの名前を格納する文字列。A string that contains the name of the file.

次の例では、XDocumentを作成し、ドキュメントをファイルに保存してから、そのファイルをコンソールに出力します。The following example creates an XDocument, saves the document to a file, and then prints the file to the console.

XDocument doc = new XDocument(  
    new XElement("Root",  
        new XElement("Child", "content")  
    )  
);  
doc.Save("Root.xml");  
Console.WriteLine(File.ReadAllText("Root.xml"));  
Dim doc As XDocument = _   
    <?xml version="1.0" encoding="utf-8"?>  
        <Root><Child>content</Child></Root>  
  
doc.Save("Root.xml")  
Console.WriteLine(File.ReadAllText("Root.xml"))  

この例を実行すると、次の出力が生成されます。This example produces the following output:

<?xml version="1.0" encoding="utf-8"?>  
<Root>  
  <Child>content</Child>  
</Root>  

注釈

シリアル化された XML はインデントされます。The serialized XML will be indented. 意味のない空白はすべて削除され、XML が適切にインデントされるように追加の空白が追加されます。All insignificant white space will be removed, and additional white space will be added so that the XML will be properly indented. このメソッドの動作は、意味のない空白文字が保持されないことです。The behavior of this method is that insignificant white space will not be preserved.

空白を制御する場合は、パラメーターとして SaveOptions を受け取る Save のオーバーロードを使用します。If you want to control white space, use the overload of Save that takes SaveOptions as a parameter. 詳細については、「 XML の読み込み時または解析時の空白の保持」と「シリアル化時の空白の維持」を参照してください。For more information, see Preserving White Space while Loading or Parsing XML and Preserving White Space While Serializing.

こちらもご覧ください

Save(Stream, SaveOptions)

オプションで書式設定動作を指定して、この XDocument を指定した Stream に出力します。Outputs this XDocument to the specified Stream, optionally specifying formatting behavior.

public:
 void Save(System::IO::Stream ^ stream, System::Xml::Linq::SaveOptions options);
public void Save (System.IO.Stream stream, System.Xml.Linq.SaveOptions options);
member this.Save : System.IO.Stream * System.Xml.Linq.SaveOptions -> unit

パラメーター

stream
Stream

この XDocument の出力先のストリーム。The stream to output this XDocument to.

options
SaveOptions

書式設定の動作を指定する SaveOptionsA SaveOptions that specifies formatting behavior.

注釈

既定では、optionsNoneに設定されています。By default the options are set to None. このオプションを選択すると、余分な意味のない空白がすべて削除され、XML が適切にインデントされるように、適切ではない空白文字が追加されます。This option will remove all extraneous insignificant white space, and add appropriate insignificant white space so that the XML is properly indented.

インデントされ XML を保存する場合は、optionsDisableFormatting フラグを指定します。If you want to save unindented XML, specify the DisableFormatting flag for options. これにより、ライターは XML ツリーに示されているすべての空白文字を正確に書き込みます。This will cause the writer to write all white spaces exactly as represented in the XML tree.

重複する名前空間宣言を削除する場合は、OmitDuplicateNamespaces オプションを使用します。Use OmitDuplicateNamespaces option if you want to remove duplicate namespace declarations.

Save(TextWriter, SaveOptions)

この XDocument をシリアル化して TextWriter に書き込み、必要に応じて、書式設定を無効にします。Serialize this XDocument to a TextWriter, optionally disabling formatting.

public:
 void Save(System::IO::TextWriter ^ textWriter, System::Xml::Linq::SaveOptions options);
public void Save (System.IO.TextWriter textWriter, System.Xml.Linq.SaveOptions options);
member this.Save : System.IO.TextWriter * System.Xml.Linq.SaveOptions -> unit

パラメーター

textWriter
TextWriter

XML を出力する TextWriterThe TextWriter to output the XML to.

options
SaveOptions

書式設定の動作を指定する SaveOptionsA SaveOptions that specifies formatting behavior.

このメソッドの2つの使用例を次に示します。The following example shows two uses of this method. 最初の使用では、書式設定を使用して XDocument をシリアル化します。The first use serializes the XDocument with formatting. 2番目の文字は空白を保持します。The second preserves white space. ドキュメントには構築された空白が含まれていないため、空白を維持すると、インデントなしで XML が出力されます。Because the document has no white space in it as constructed, preserving white space outputs the XML without any indenting.

XDocument doc = new XDocument(  
    new XElement("Root",  
        new XElement("Child", "content")  
    )  
);  
StringBuilder sb1 = new StringBuilder();  
using (StringWriter sr1 = new StringWriter(sb1)) {  
    doc.Save(sr1, SaveOptions.None);  
    Console.WriteLine(sb1.ToString());  
}  
  
StringBuilder sb2 = new StringBuilder();  
using (StringWriter sr2 = new StringWriter(sb2)) {  
    doc.Save(sr2, SaveOptions.DisableFormatting);  
    Console.WriteLine(sb2.ToString());  
}  
Dim doc As XDocument = _   
    <?xml version="1.0" encoding="utf-8"?>  
        <Root><Child>content</Child></Root>  
  
Dim sb1 As StringBuilder = New StringBuilder()  
  
Using sr1 = New StringWriter(sb1)  
    doc.Save(sr1, SaveOptions.None)  
    Console.WriteLine(sb1.ToString())  
End Using  
  
Dim sb2 As StringBuilder = New StringBuilder()  
  
Using sr2 = New StringWriter(sb2)  
    doc.Save(sr2, SaveOptions.DisableFormatting)  
    Console.WriteLine(sb2.ToString())  
End Using  

この例を実行すると、次の出力が生成されます。This example produces the following output:

<?xml version="1.0" encoding="utf-16"?>  
<Root>  
  <Child>content</Child>  
</Root>  
<?xml version="1.0" encoding="utf-16"?><Root><Child>content</Child></Root>  

注釈

インデントされ XML を保存する場合は、optionsDisableFormatting フラグを指定します。If you want to save unindented XML, specify the DisableFormatting flag for options. これにより、ライターは XML ツリーで表されるすべての空白を正確に書き込みます。This will cause the writer to write all white space exactly as represented in the XML tree.

インデントされた XML を保存する場合は、optionsDisableFormatting フラグを指定しないでください。If you want to save indented XML, do not specify the DisableFormatting flag for options. これにより、余分に意味のない空白がすべて削除され、XML が適切にインデントされるように、適切でない空白が追加されます。This will remove all extraneous insignificant white space, and add appropriate insignificant white space so that the XML is properly indented. これは既定の動作であり、パラメーターとして options を受け取らない Save メソッドのオーバーロードの動作です。This is the default behavior, and the behavior of the overloads of the Save methods that do not take options as a parameter.

詳細については、「 XML の読み込み時または解析時の空白の保持」と「シリアル化時の空白の維持」を参照してください。For more information, see Preserving White Space while Loading or Parsing XML and Preserving White Space While Serializing.

こちらもご覧ください

Save(String, SaveOptions)

この XDocument をシリアル化してファイルに書き込み、必要に応じて、書式設定を無効にします。Serialize this XDocument to a file, optionally disabling formatting.

public:
 void Save(System::String ^ fileName, System::Xml::Linq::SaveOptions options);
public void Save (string fileName, System.Xml.Linq.SaveOptions options);
member this.Save : string * System.Xml.Linq.SaveOptions -> unit
Public Sub Save (fileName As String, options As SaveOptions)

パラメーター

fileName
String

ファイルの名前を格納する文字列。A string that contains the name of the file.

options
SaveOptions

書式設定の動作を指定する SaveOptionsA SaveOptions that specifies formatting behavior.

このメソッドの2つの使用例を次に示します。The following example shows two uses of this method. 最初の使用では、空白が保持されます。The first use preserves white space. 2つ目の方法では、インデントを使用して XDocument をシリアル化します。The second one serializes the XDocument with indenting.

XDocument doc = new XDocument(  
    new XElement("Root",  
        new XElement("Child", "content")  
    )  
);  
doc.Save("Root1.xml", SaveOptions.DisableFormatting);  
Console.WriteLine(File.ReadAllText("Root1.xml"));  
doc.Save("Root2.xml", SaveOptions.None);  
Console.WriteLine(File.ReadAllText("Root2.xml"));  
Dim doc As XDocument = _   
    <?xml version="1.0" encoding="utf-8"?>  
        <Root><Child>content</Child></Root>  
  
doc.Save("Root1.xml", SaveOptions.DisableFormatting)  
Console.WriteLine(File.ReadAllText("Root1.xml"))  
doc.Save("Root2.xml", SaveOptions.None)  
Console.WriteLine(File.ReadAllText("Root2.xml"))  

この例を実行すると、次の出力が生成されます。This example produces the following output:

<?xml version="1.0" encoding="utf-8"?><Root><Child>content</Child></Root>  
<?xml version="1.0" encoding="utf-8"?>  
<Root>  
  <Child>content</Child>  
</Root>  

注釈

インデントされ XML を保存する場合は、optionsDisableFormatting フラグを指定します。If you want to save unindented XML, specify the DisableFormatting flag for options. これにより、ライターは XML ツリーで表されるすべての空白を正確に書き込みます。This will cause the writer to write all white space exactly as represented in the XML tree.

インデントされた XML を保存する場合は、optionsDisableFormatting フラグを指定しないでください。If you want to save indented XML, do not specify the DisableFormatting flag for options. これにより、余分に意味のない空白がすべて削除され、XML が適切にインデントされるように、適切でない空白が追加されます。This will remove all extraneous insignificant white space, and add appropriate insignificant white space so that the XML is properly indented. これは既定の動作であり、パラメーターとして options を受け取らない Save メソッドのオーバーロードの動作です。This is the default behavior, and the behavior of the overloads of the Save methods that do not take options as a parameter.

詳細については、「 XML の読み込み時または解析時の空白の保持」と「シリアル化時の空白の維持」を参照してください。For more information, see Preserving White Space while Loading or Parsing XML and Preserving White Space While Serializing.

こちらもご覧ください

適用対象