Language

XDocument.Save メソッド

定義

この XDocument をファイル、 TextWriter、または XmlWriterにシリアル化します。

オーバーロード

名前 説明
Save(XmlWriter)

この XDocument を XmlWriterにシリアル化します。

Save(Stream)

この XDocument を指定した Streamに出力します。

Save(TextWriter)

この XDocument を TextWriterにシリアル化します。

Save(String)

この XDocument をファイルにシリアル化し、既存のファイルが存在する場合は上書きします。

Save(Stream, SaveOptions)

この XDocument を指定した Streamに出力し、必要に応じて書式設定の動作を指定します。

Save(TextWriter, SaveOptions)

この XDocument を TextWriterにシリアル化し、必要に応じて書式設定を無効にします。

Save(String, SaveOptions)

この XDocument をファイルにシリアル化し、必要に応じて書式設定を無効にします。

Save(XmlWriter)

ソース:
XDocument.cs
ソース:
XDocument.cs
ソース:
XDocument.cs
ソース:
XDocument.cs
ソース:
XDocument.cs

この XDocument を 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が書き込まれるXDocument。

例

次の例は、 XDocument を 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())

この例を実行すると、次の出力が生成されます。

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

こちらもご覧ください

適用対象

Save(Stream)

ソース:
XDocument.cs
ソース:
XDocument.cs
ソース:
XDocument.cs
ソース:
XDocument.cs
ソース:
XDocument.cs

この XDocument を指定した Streamに出力します。

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

パラメーター

stream
Stream

この XDocument を出力するストリーム。

注釈

シリアル化された XML はインデントされます。 重要でない空白はすべて削除され、XML が適切にインデントされるように、追加の空白が追加されます。 このメソッドの動作では、重要でない空白は保持されません。

空白を制御する場合は、パラメーターとしてSaveを受け取るSaveOptionsのオーバーロードを使用します。 DisableFormatting オプションを使用して、未格納の XML を保存します。 これにより、ライターはすべての空白を XML ツリーで表されるとおりに書き込みます。

重複する名前空間宣言を削除する場合は、 OmitDuplicateNamespaces オプションを使用します。

適用対象

Save(TextWriter)

ソース:
XDocument.cs
ソース:
XDocument.cs
ソース:
XDocument.cs
ソース:
XDocument.cs
ソース:
XDocument.cs

この XDocument を TextWriterにシリアル化します。

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

パラメーター

textWriter
TextWriter

TextWriterが書き込まれるXDocument。

例

次の例では、 XDocumentを作成し、ドキュメントを StringWriterに保存してから、文字列をコンソールに出力します。

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())

この例を実行すると、次の出力が生成されます。

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

注釈

シリアル化された XML はインデントされます。 重要でない空白はすべて削除され、XML が適切にインデントされるように、追加の空白が追加されます。 このメソッドの動作では、重要でない空白は保持されません。

空白を制御する場合は、パラメーターとしてSaveを受け取るSaveOptionsのオーバーロードを使用します。 詳細については、「XML の 読み込みまたは解析中に空白を保持する 」および「 シリアル化中に空白を保持する」を参照してください。

こちらもご覧ください

適用対象

Save(String)

ソース:
XDocument.cs
ソース:
XDocument.cs
ソース:
XDocument.cs
ソース:
XDocument.cs
ソース:
XDocument.cs

この XDocument をファイルにシリアル化し、既存のファイルが存在する場合は上書きします。

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

パラメーター

fileName
String

ファイルの名前を含む文字列。

例

次の例では、 XDocumentを作成し、ドキュメントをファイルに保存してから、そのファイルをコンソールに出力します。

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"))

この例を実行すると、次の出力が生成されます。

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

注釈

シリアル化された XML はインデントされます。 重要でない空白はすべて削除され、XML が適切にインデントされるように、追加の空白が追加されます。 このメソッドの動作では、重要でない空白は保持されません。

空白を制御する場合は、パラメーターとしてSaveを受け取るSaveOptionsのオーバーロードを使用します。 詳細については、「XML の 読み込みまたは解析中に空白を保持する 」および「 シリアル化中に空白を保持する」を参照してください。

こちらもご覧ください

適用対象

Save(Stream, SaveOptions)

ソース:
XDocument.cs
ソース:
XDocument.cs
ソース:
XDocument.cs
ソース:
XDocument.cs
ソース:
XDocument.cs

この XDocument を指定した Streamに出力し、必要に応じて書式設定の動作を指定します。

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
Public Sub Save (stream As Stream, options As SaveOptions)

パラメーター

stream
Stream

この XDocument を出力するストリーム。

options
SaveOptions

書式設定の動作を指定する SaveOptions 。

注釈

既定では、 options は None に設定されます。 このオプションを選択すると、重要でない空白がすべて削除され、XML が適切にインデントされるように、適切な重要でない空白が追加されます。

格納されていない XML を保存する場合は、DisableFormattingのoptions フラグを指定します。 これにより、ライターはすべての空白を XML ツリーで表されるとおりに書き込みます。

重複する名前空間宣言を削除する場合は、 OmitDuplicateNamespaces オプションを使用します。

適用対象

Save(TextWriter, SaveOptions)

ソース:
XDocument.cs
ソース:
XDocument.cs
ソース:
XDocument.cs
ソース:
XDocument.cs
ソース:
XDocument.cs

この XDocument を TextWriterにシリアル化し、必要に応じて書式設定を無効にします。

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
Public Sub Save (textWriter As TextWriter, options As SaveOptions)

パラメーター

textWriter
TextWriter

XML を出力する TextWriter 。

options
SaveOptions

書式設定の動作を指定する SaveOptions 。

例

次の例は、このメソッドの 2 つの使用方法を示しています。 最初の使用では、書式設定を使用して XDocument をシリアル化します。 2 つ目は空白を保持します。 ドキュメントには構築された空白がないため、空白を保持すると、インデントなしで XML が出力されます。

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

この例を実行すると、次の出力が生成されます。

<?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 を保存する場合は、DisableFormattingのoptions フラグを指定します。 これにより、ライターは XML ツリーで表されるとおりにすべての空白を書き込みます。

インデントされた XML を保存する場合は、DisableFormattingのoptions フラグを指定しないでください。 これにより、余分な重要でない空白がすべて削除され、XML が適切にインデントされるように、適切な重要でない空白が追加されます。 これは既定の動作であり、パラメーターとしてSaveを受け取らないoptions メソッドのオーバーロードの動作です。

詳細については、「XML の 読み込みまたは解析中に空白を保持する 」および「 シリアル化中に空白を保持する」を参照してください。

こちらもご覧ください

適用対象

Save(String, SaveOptions)

ソース:
XDocument.cs
ソース:
XDocument.cs
ソース:
XDocument.cs
ソース:
XDocument.cs
ソース:
XDocument.cs

この XDocument をファイルにシリアル化し、必要に応じて書式設定を無効にします。

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

ファイルの名前を含む文字列。

options
SaveOptions

書式設定の動作を指定する SaveOptions 。

例

次の例は、このメソッドの 2 つの使用方法を示しています。 最初の使用では、空白が保持されます。 2 つ目は、インデントを使用して XDocument をシリアル化します。

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"))

この例を実行すると、次の出力が生成されます。

<?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 を保存する場合は、DisableFormattingのoptions フラグを指定します。 これにより、ライターは XML ツリーで表されるとおりにすべての空白を書き込みます。

インデントされた XML を保存する場合は、DisableFormattingのoptions フラグを指定しないでください。 これにより、余分な重要でない空白がすべて削除され、XML が適切にインデントされるように、適切な重要でない空白が追加されます。 これは既定の動作であり、パラメーターとしてSaveを受け取らないoptions メソッドのオーバーロードの動作です。

詳細については、「XML の 読み込みまたは解析中に空白を保持する 」および「 シリアル化中に空白を保持する」を参照してください。

こちらもご覧ください

適用対象