XElement.Save メソッド

定義

この要素の基になる XML ツリーをシリアル化します。Serialize this element's underlying XML tree. 出力は、ファイル、XmlTextWriterTextWriter、または XmlWriter に保存できます。The output can be saved to a file, an XmlTextWriter, a TextWriter, or an XmlWriter. 必要に応じて、書式設定 (インデント) を無効にできます。Optionally, formatting (indenting) can be disabled.

オーバーロード

Save(Stream)

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

Save(TextWriter)

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

Save(String)

この要素をシリアル化してファイルに書き込みます。Serialize this element to a file.

Save(XmlWriter)

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

Save(Stream, SaveOptions)

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

Save(TextWriter, SaveOptions)

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

Save(String, SaveOptions)

この要素をシリアル化してファイルに書き込み、オプションで、書式設定を無効にします。Serialize this element to a file, optionally disabling formatting.

Save(Stream)

この XElement を指定した Stream に出力します。Outputs this XElement 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
Public Sub Save (stream As Stream)

パラメーター

stream
Stream

この XElement の出力先のストリーム。The stream to output this XElement 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.

空白を制御する場合は、 Save パラメーターとしてを受け取るのオーバーロードを使用し SaveOptions ます。If you want to control white space, use the overload of Save that takes SaveOptions as a parameter. DisableFormattingインデントされ XML を保存するには、オプションを使用します。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 the OmitDuplicateNamespaces option if you want to remove duplicate namespace declarations.

適用対象

Save(TextWriter)

この要素をシリアル化して TextWriter に書き込みます。Serialize this element to a 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

XElement の書き込み先の TextWriterA TextWriter that the XElement will be written to.

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

XElement root = XElement.Parse(@"<Root> <Child> Text </Child> </Root>");  
using (StringWriter sw = new StringWriter()) {  
    root.Save(sw);  
    Console.WriteLine(sw.ToString());  
}  
Dim root As XElement = <Root><Child> Text </Child></Root>  
Using sw = New StringWriter()  
    root.Save(sw)  
    Console.WriteLine(sw.ToString())  
End Using  

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

<?xml version="1.0" encoding="utf-16"?>  
<Root>  
  <Child> Text </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 white space will not be preserved.

空白を制御する場合は、 Save パラメーターとしてを指定できるのオーバーロードを使用し SaveOptions ます。If you want to control white space, use the overload of Save that allows you to specify SaveOptions as a parameter. 詳細については、「 XML の読み込みまたは解析中の空白の保持 」と「シリアル化中の空白の 保持」を参照してください。For more information, see Preserve white space while loading or parsing XML and Preserve white space while serializing.

適用対象

Save(String)

この要素をシリアル化してファイルに書き込みます。Serialize this element to a file.

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

パラメーター

fileName
String

ファイルの名前を格納する StringA String that contains the name of the file.

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

XElement root = new XElement("Root",  
    new XElement("Child", "child content")  
);  
root.Save("Root.xml");  
string str = File.ReadAllText("Root.xml");  
Console.WriteLine(str);  
Dim root As XElement = _   
        <Root>  
            <Child>child content</Child>  
        </Root>  
root.Save("Root.xml")  
Dim Str As String = File.ReadAllText("Root.xml")  
Console.WriteLine(Str)  

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

<?xml version="1.0" encoding="utf-8"?>  
<Root>  
  <Child>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. このメソッドの動作は、XML ツリー内の意味のない空白ノードが保持されないことです。The behavior of this method is that insignificant white space nodes in the XML tree will not be preserved.

空白を制御する場合は、 Save パラメーターとしてを指定できるのオーバーロードを使用し SaveOptions ます。If you want to control white space, use the overload of Save that allows you to specify SaveOptions as a parameter. 詳細については、「 XML の読み込みまたは解析中の空白の保持 」と「シリアル化中の空白の 保持」を参照してください。For more information, see Preserve white space while loading or parsing XML and Preserve white space while serializing.

適用対象

Save(XmlWriter)

この要素をシリアル化して XmlWriter に書き込みます。Serialize this element 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

XElement の書き込み先の XmlWriterA XmlWriter that the XElement will be written to.

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

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

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

<Root><Child>child content</Child></Root>  

適用対象

Save(Stream, SaveOptions)

オプションで書式設定動作を指定して、この XElement を指定した Stream に出力します。Outputs this XElement 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
Public Sub Save (stream As Stream, options As SaveOptions)

パラメーター

stream
Stream

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

options
SaveOptions

書式設定の動作を指定する SaveOptions オブジェクト。A SaveOptions object that specifies formatting behavior.

注釈

既定で options は、はに設定されて None います。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 を保存する場合は、のフラグを指定し DisableFormatting options ます。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)

この要素をシリアル化して TextWriter に書き込み、必要に応じて、書式設定を無効にします。Serialize this element 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
Public Sub Save (textWriter As TextWriter, options As SaveOptions)

パラメーター

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. 最初の使用では、空白が保持されます。The first use preserves white space. 2番目のは、書式設定を使用してをシリアル化し XElement ます。The second serializes the XElement with formatting. ドキュメントには構築された空白が含まれていないため、空白を維持すると、インデントなしで XML が出力されます。Because the document has no white space in it as constructed, preserving white space outputs the XML without any indenting.

XElement root = XElement.Parse(@"<Root> <Child> Text </Child> </Root>");  

using (StringWriter sw = new StringWriter())  
{  
    root.Save(sw, SaveOptions.DisableFormatting);  
    Console.WriteLine(sw.ToString());  
}  

Console.WriteLine("=====");  

using (StringWriter sw = new StringWriter())  
{  
    root.Save(sw, SaveOptions.None);  
    Console.WriteLine(sw.ToString());  
}  
Dim root As XElement = <Root><Child> Text </Child></Root>  

Using sw = New StringWriter()  
    root.Save(sw, SaveOptions.DisableFormatting)  
    Console.WriteLine(sw.ToString())  
End Using  

Console.WriteLine("=====")  

Using sw = New StringWriter()  
    root.Save(sw, SaveOptions.None)  
    Console.WriteLine(sw.ToString())  
End Using  

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

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

注釈

インデントされ XML を保存する場合は、のフラグを指定し DisableFormatting options ます。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 を保存する場合は、のフラグを指定しないで DisableFormatting options ください。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. これは既定の動作で Save あり、 options パラメーターとして受け取らないメソッドのオーバーロードの動作です。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 Preserve white space while loading or parsing XML and Preserve white space while serializing.

適用対象

Save(String, SaveOptions)

この要素をシリアル化してファイルに書き込み、オプションで、書式設定を無効にします。Serialize this element 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

ファイルの名前を格納する StringA 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つ目は、書式設定を使用してをシリアル化し XElement ます。The second one serializes the XElement with formatting.

string str;  
XElement root = XElement.Parse(@"<Root> <Child> Text </Child> </Root>");  

root.Save("Root.xml", SaveOptions.DisableFormatting);  
str = File.ReadAllText("Root.xml");  
Console.WriteLine(str);  

Console.WriteLine("=====");  

root.Save("Root.xml", SaveOptions.None);  
str = File.ReadAllText("Root.xml");  
Console.WriteLine(str);  
Dim str As String  
Dim root As XElement = <Root><Child> Text </Child></Root>  

root.Save("Root.xml", SaveOptions.DisableFormatting)  
str = File.ReadAllText("Root.xml")  
Console.WriteLine(str)  

Console.WriteLine("=====")  

root.Save("Root.xml", SaveOptions.None)  
str = File.ReadAllText("Root.xml")  
Console.WriteLine(str)  

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

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

注釈

インデントされ XML を保存する場合は、のフラグを指定し DisableFormatting options ます。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 を保存する場合は、のフラグを指定しないで DisableFormatting options ください。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. これは既定の動作で Save あり、 options パラメーターとして受け取らないメソッドのオーバーロードの動作です。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 Preserve white space while loading or parsing XML and Preserve white space while serializing.

適用対象