XStreamingElement.Save メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
このストリーミング要素をシリアル化します。 出力は、ファイル、 XmlTextWriter、 TextWriter、または XmlWriterに保存できます。 必要に応じて、書式設定 (インデント) を無効にすることができます。
オーバーロード
| 名前 | 説明 |
|---|---|
| Save(Stream) |
この XStreamingElement を指定した Streamに出力します。 |
| Save(TextWriter) |
このストリーミング要素を TextWriterにシリアル化します。 |
| Save(String) |
このストリーミング要素をファイルにシリアル化します。 |
| Save(XmlWriter) |
このストリーミング要素を XmlWriterにシリアル化します。 |
| Save(Stream, SaveOptions) |
この XStreamingElement を指定した Streamに出力し、必要に応じて書式設定の動作を指定します。 |
| Save(TextWriter, SaveOptions) |
このストリーミング要素を TextWriterにシリアル化し、必要に応じて書式設定を無効にします。 |
| Save(String, SaveOptions) |
このストリーミング要素をファイルにシリアル化し、必要に応じて書式設定を無効にします。 |
Save(Stream)
この XStreamingElement を指定した 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 が適切にインデントされるように、追加の空白が追加されます。 このメソッドの動作では、重要でない空白は保持されません。
空白を制御する場合は、パラメーターとしてSaveを受け取るSaveOptionsのオーバーロードを使用します。 DisableFormatting オプションを使用して、未格納の XML を保存します。 これにより、ライターはすべての空白を XML ツリーで表されるとおりに書き込みます。
重複する名前空間宣言を削除する場合は、 OmitDuplicateNamespaces オプションを使用します。
適用対象
Save(TextWriter)
このストリーミング要素を 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が書き込まれるXStreamingElement。
例
次の例では、ソース XML ツリーを作成し、ソース XML ツリーのクエリを使用して XStreamingElement をインスタンス化します。 次に、ストリーミング要素を StringWriterに書き込みます。
XElement srcTree = new XElement("Root",
new XElement("Child", 1),
new XElement("Child", 2),
new XElement("Child", 3),
new XElement("Child", 4),
new XElement("Child", 5)
);
XStreamingElement dstTree = new XStreamingElement("NewRoot",
from el in srcTree.Elements()
where (int)el >= 3
select new XElement("DifferentChild", (int)el)
);
StringBuilder sb = new StringBuilder();
dstTree.Save(new StringWriter(sb));
Console.WriteLine(sb.ToString());
Dim srcTree As XElement = _
<Root>
<Child>1</Child>
<Child>2</Child>
<Child>3</Child>
<Child>4</Child>
<Child>5</Child>
</Root>
Dim dstTree As XStreamingElement = New XStreamingElement("NewRoot", _
From el In srcTree.Elements() _
Where el.Value >= 3 _
Select <DifferentChild><%= el.Value %></DifferentChild> _
)
Dim sb As StringBuilder = New StringBuilder()
dstTree.Save(New StringWriter(sb))
Console.WriteLine(sb.ToString())
この例を実行すると、次の出力が生成されます。
<?xml version="1.0" encoding="utf-16"?>
<NewRoot>
<DifferentChild>3</DifferentChild>
<DifferentChild>4</DifferentChild>
<DifferentChild>5</DifferentChild>
</NewRoot>
注釈
シリアル化された XML はインデントされます。 重要でない空白はすべて削除され、XML が適切にインデントされるように、追加の空白が追加されます。 このメソッドの動作では、XML ツリー内の重要でない空白ノードは保持されません。
空白を制御する場合は、パラメーターとしてSaveを受け取るSaveOptionsのいずれかのオーバーロードを使用します。 詳細については、「XML の 読み込みまたは解析中に空白を保持する 」および「 シリアル化中に空白を保持する」を参照してください。
こちらもご覧ください
適用対象
Save(String)
このストリーミング要素をファイルにシリアル化します。
public:
void Save(System::String ^ fileName);
public void Save(string fileName);
member this.Save : string -> unit
Public Sub Save (fileName As String)
パラメーター
例
次の例では、ストリーミング XML ツリーを作成します。 次に、ストリーミング XML ツリーをファイルにシリアル化します。
XElement srcTree = new XElement("Root",
new XElement("Child", 1),
new XElement("Child", 2),
new XElement("Child", 3),
new XElement("Child", 4),
new XElement("Child", 5)
);
XStreamingElement dstTree = new XStreamingElement("NewRoot",
from el in srcTree.Elements()
where (int)el >= 3
select new XElement("DifferentChild", (int)el)
);
dstTree.Save("Test.xml");
Console.WriteLine(File.ReadAllText("Test.xml"));
Dim srcTree As XElement = _
<Root>
<Child>1</Child>
<Child>2</Child>
<Child>3</Child>
<Child>4</Child>
<Child>5</Child>
</Root>
Dim dstTree As XStreamingElement = New XStreamingElement("NewRoot", _
From el In srcTree.Elements() _
Where el.Value >= 3 _
Select <DifferentChild><%= el.Value %></DifferentChild> _
)
dstTree.Save("Test.xml")
Console.WriteLine(File.ReadAllText("Test.xml"))
この例を実行すると、次の出力が生成されます。
<?xml version="1.0" encoding="utf-8"?>
<NewRoot>
<DifferentChild>3</DifferentChild>
<DifferentChild>4</DifferentChild>
<DifferentChild>5</DifferentChild>
</NewRoot>
注釈
シリアル化された XML はインデントされます。 重要でない空白はすべて削除され、XML が適切にインデントされるように、追加の空白が追加されます。 このメソッドの動作では、XML ツリー内の重要でない空白ノードは保持されません。
空白を制御する場合は、パラメーターとしてSaveを受け取るSaveOptionsのいずれかのオーバーロードを使用します。 詳細については、「XML の 読み込みまたは解析中に空白を保持する 」および「 シリアル化中に空白を保持する」を参照してください。
こちらもご覧ください
適用対象
Save(XmlWriter)
このストリーミング要素を 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)
パラメーター
例
次の例では、 XStreamingElement を作成し、 XmlWriterに書き込みます。
XElement srcTree = new XElement("Root",
new XElement("Child", 1),
new XElement("Child", 2),
new XElement("Child", 3),
new XElement("Child", 4),
new XElement("Child", 5)
);
StringBuilder sb = new StringBuilder();
XmlWriterSettings xws = new XmlWriterSettings();
xws.OmitXmlDeclaration = true;
using (XmlWriter xw = XmlWriter.Create(sb, xws))
{
XStreamingElement dstTree = new XStreamingElement("NewRoot",
from el in srcTree.Elements()
where (int)el == 5
select new XElement("DifferentChild", (int)el)
);
dstTree.Save(xw);
}
Console.WriteLine(sb.ToString());
Dim srcTree As XElement = _
<Root>
<Child>1</Child>
<Child>2</Child>
<Child>3</Child>
<Child>4</Child>
<Child>5</Child>
</Root>
Dim sb As StringBuilder = New StringBuilder()
Dim xws As XmlWriterSettings = New XmlWriterSettings()
xws.OmitXmlDeclaration = True
Using xw As XmlWriter = XmlWriter.Create(sb, xws)
Dim dstTree As XStreamingElement = New XStreamingElement("NewRoot", _
From el In srcTree.Elements() _
Where el.Value = 5 _
Select <DifferentChild><%= el.Value %></DifferentChild> _
)
dstTree.Save(xw)
End Using
Console.WriteLine(sb.ToString())
この例を実行すると、次の出力が生成されます。
<NewRoot><DifferentChild>5</DifferentChild></NewRoot>
こちらもご覧ください
適用対象
Save(Stream, SaveOptions)
この XStreamingElement を指定した 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)
パラメーター
- options
- SaveOptions
書式設定の動作を指定する SaveOptions オブジェクト。
注釈
既定では、 options は None に設定されます。 このオプションを選択すると、重要でない空白がすべて削除され、XML が適切にインデントされるように、適切な重要でない空白が追加されます。
格納されていない XML を保存する場合は、DisableFormattingのoptions フラグを指定します。 これにより、ライターはすべての空白を XML ツリーで表されるとおりに書き込みます。
重複する名前空間宣言を削除する場合は、 OmitDuplicateNamespaces オプションを使用します。
適用対象
Save(TextWriter, SaveOptions)
このストリーミング要素を 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 つの使用方法を示しています。 最初の使用では、空白が保持されます。 2 つ目は、書式設定を使用して XStreamingElement をシリアル化します。
XElement srcTree = new XElement("Root",
new XElement("Child", 1),
new XElement("Child", 2),
new XElement("Child", 3),
new XElement("Child", 4),
new XElement("Child", 5)
);
XStreamingElement dstTree = new XStreamingElement("NewRoot",
from el in srcTree.Elements()
where (int)el == 3
select new XElement("DifferentChild", (int)el)
);
StringBuilder sb = new StringBuilder();
dstTree.Save(new StringWriter(sb), SaveOptions.DisableFormatting);
Console.WriteLine(sb.ToString());
Console.WriteLine("------");
sb = new StringBuilder();
dstTree.Save(new StringWriter(sb), SaveOptions.None);
Console.WriteLine(sb.ToString());
Dim srcTree As XElement = _
<Root>
<Child>1</Child>
<Child>2</Child>
<Child>3</Child>
<Child>4</Child>
<Child>5</Child>
</Root>
Dim dstTree As XStreamingElement = New XStreamingElement("NewRoot", _
From el In srcTree.Elements() _
Where el.Value = 3 _
Select <DifferentChild><%= el.Value %></DifferentChild> _
)
Dim sb As StringBuilder = New StringBuilder()
dstTree.Save(New StringWriter(sb), SaveOptions.DisableFormatting)
Console.WriteLine(sb.ToString())
Console.WriteLine("------")
sb = New StringBuilder()
dstTree.Save(New StringWriter(sb), SaveOptions.None)
Console.WriteLine(sb.ToString())
この例を実行すると、次の出力が生成されます。
<?xml version="1.0" encoding="utf-16"?><NewRoot><DifferentChild>3</DifferentChild></NewRoot>
------
<?xml version="1.0" encoding="utf-16"?>
<NewRoot>
<DifferentChild>3</DifferentChild>
</NewRoot>
注釈
格納されていない XML を保存する場合は、DisableFormattingのoptions フラグを指定します。 これにより、ライターは XML ツリーで表されるとおりにすべての空白を書き込みます。
インデントされた XML を保存する場合は、DisableFormattingのoptions フラグを指定しないでください。 これにより、余分な重要でない空白がすべて削除され、XML が適切にインデントされるように、適切な重要でない空白が追加されます。 これは既定の動作であり、パラメーターとしてSaveを受け取らないoptions メソッドのオーバーロードの動作です。
詳細については、「XML の 読み込みまたは解析中に空白を保持する 」および「 シリアル化中に空白を保持する」を参照してください。
こちらもご覧ください
適用対象
Save(String, SaveOptions)
このストリーミング要素をファイルにシリアル化し、必要に応じて書式設定を無効にします。
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)
パラメーター
- options
- SaveOptions
書式設定の動作を指定する SaveOptions オブジェクト。
例
次の例は、このメソッドの 2 つの使用方法を示しています。 最初の使用では、空白が保持されます。 2 つ目は、書式設定を使用して XStreamingElement をシリアル化します。
XElement srcTree = new XElement("Root",
new XElement("Child", 1),
new XElement("Child", 2),
new XElement("Child", 3),
new XElement("Child", 4),
new XElement("Child", 5)
);
XStreamingElement dstTree = new XStreamingElement("NewRoot",
from el in srcTree.Elements()
where (int)el == 3
select new XElement("DifferentChild", (int)el)
);
dstTree.Save("Test1.xml", SaveOptions.DisableFormatting);
dstTree.Save("Test2.xml", SaveOptions.None);
Console.WriteLine(File.ReadAllText("Test1.xml"));
Console.WriteLine("------");
Console.WriteLine(File.ReadAllText("Test2.xml"));
Dim srcTree As XElement = _
<Root>
<Child>1</Child>
<Child>2</Child>
<Child>3</Child>
<Child>4</Child>
<Child>5</Child>
</Root>
Dim dstTree As XStreamingElement = New XStreamingElement("NewRoot", _
From el In srcTree.Elements() _
Where el.Value = 3 _
Select <DifferentChild><%= el.Value %></DifferentChild> _
)
dstTree.Save("Test1.xml", SaveOptions.DisableFormatting)
dstTree.Save("Test2.xml", SaveOptions.None)
Console.WriteLine(File.ReadAllText("Test1.xml"))
Console.WriteLine("------")
Console.WriteLine(File.ReadAllText("Test2.xml"))
この例を実行すると、次の出力が生成されます。
<?xml version="1.0" encoding="utf-8"?><NewRoot><DifferentChild>3</DifferentChild></NewRoot>
------
<?xml version="1.0" encoding="utf-8"?>
<NewRoot>
<DifferentChild>3</DifferentChild>
</NewRoot>
注釈
格納されていない XML を保存する場合は、DisableFormattingのoptions フラグを指定します。 これにより、ライターは XML ツリーで表されるとおりにすべての空白を書き込みます。
インデントされた XML を保存する場合は、DisableFormattingのoptions フラグを指定しないでください。 これにより、余分な重要でない空白がすべて削除され、XML が適切にインデントされるように、適切な重要でない空白が追加されます。 これは既定の動作であり、パラメーターとしてSaveを受け取らないoptions メソッドのオーバーロードの動作です。
詳細については、「XML の 読み込みまたは解析中に空白を保持する 」および「 シリアル化中に空白を保持する」を参照してください。