XDocument.Save メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
この XDocument をシリアル化してファイル、TextWriter、または XmlWriter に書き込みます。
オーバーロード
Save(XmlWriter) | |
Save(Stream) | |
Save(TextWriter) |
この XDocument をシリアル化して TextWriter に書き込みます。 |
Save(String) |
この XDocument をシリアル化してファイルに書き込み、既存のファイルを上書きします (存在する場合)。 |
Save(Stream, SaveOptions) | |
Save(TextWriter, SaveOptions) |
この XDocument をシリアル化して TextWriter に書き込み、必要に応じて、書式設定を無効にします。 |
Save(String, SaveOptions) |
この XDocument をシリアル化してファイルに書き込み、必要に応じて、書式設定を無効にします。 |
Save(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)
パラメーター
例
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)
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)
パラメーター
注釈
シリアル化された XML はインデントされます。 重要でない空白はすべて削除され、XML が適切にインデントされるように追加の空白が追加されます。 このメソッドの動作は、重要ではない空白は保持されないことです。
空白を制御する場合は、そのオーバーロードSaveSaveOptionsをパラメーターとして使用します。 このオプションを DisableFormatting 使用して、未設定の XML を保存します。 これにより、ライターはすべての空白を XML ツリーで表されるとおりに書き込みます。
重複する名前空間宣言を削除する場合は、オプションを使用 OmitDuplicateNamespaces します。
適用対象
Save(TextWriter)
この 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
XDocument の書き込み先の TextWriter。
例
次の例では、ドキュメントを XDocument作成して a 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 が適切にインデントされるように追加の空白が追加されます。 このメソッドの動作は、重要ではない空白は保持されないことです。
空白を制御する場合は、そのオーバーロードSaveSaveOptionsをパラメーターとして使用します。 詳細については、「XML の 読み込みまたは解析中に空白を保持する 」および「 シリアル化中に空白を保持する」を参照してください。
こちらもご覧ください
適用対象
Save(String)
この 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 が適切にインデントされるように空白が追加されます。 このメソッドの動作は、重要でない空白は保持されないことです。
空白を制御する場合は、そのSaveOptionsオーバーロードSaveをパラメーターとして使用します。 詳細については、「XML の 読み込みまたは解析中に空白を保持する 」および「 シリアル化中に空白を保持する」を参照してください。
こちらもご覧ください
適用対象
Save(Stream, SaveOptions)
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)
パラメーター
- options
- SaveOptions
書式設定の動作を指定する SaveOptions。
注釈
既定では、次に options
設定 Noneされます。 このオプションでは、重要でない空白をすべて削除し、XML が適切にインデントされるように、適切な重要でない空白を追加します。
格納されていない XML を保存する場合は、次のフラグを DisableFormatting 指定します options
。 これにより、ライターはすべての空白を XML ツリーで表されるとおりに書き込みます。
重複する名前空間宣言を削除する場合は、オプションを使用 OmitDuplicateNamespaces します。
適用対象
Save(TextWriter, SaveOptions)
この 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 を保存する場合は、フラグoptions
をDisableFormatting指定しないでください。 これにより、重要でない空白がすべて削除され、XML が適切にインデントされるように、適切な重要でない空白が追加されます。 これは既定の動作であり、パラメーターとして受け取options
らないメソッドのSaveオーバーロードの動作です。
詳細については、「XML の 読み込みまたは解析中に空白を保持する 」および「 シリアル化中に空白を保持する」を参照してください。
こちらもご覧ください
適用対象
Save(String, SaveOptions)
この 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 を保存する場合は、フラグoptions
をDisableFormatting指定しないでください。 これにより、重要でない空白がすべて削除され、XML が適切にインデントされるように、適切な重要でない空白が追加されます。 これは既定の動作であり、パラメーターとして受け取options
らないメソッドのSaveオーバーロードの動作です。
詳細については、「XML の 読み込みまたは解析中に空白を保持する 」および「 シリアル化中に空白を保持する」を参照してください。