XElement.Save Yöntem

Tanım

Bu öğenin temel XML ağacını seri hale getirin. Çıkış bir dosyaya, bir , XmlTextWriterveya öğesine TextWriterXmlWriterkaydedilebilir. İsteğe bağlı olarak, biçimlendirme (girintileme) devre dışı bırakılabilir.

Aşırı Yüklemeler

Save(Stream)

Bunu XElement belirtilen Streamöğesine döndürür.

Save(TextWriter)

Bu öğeyi bir TextWriterolarak serileştirin.

Save(String)

Bu öğeyi bir dosyaya serileştirin.

Save(XmlWriter)

Bu öğeyi bir XmlWriterolarak serileştirin.

Save(Stream, SaveOptions)

Bunu XElement , isteğe bağlı olarak biçimlendirme davranışını belirterek belirtilen Streamöğesine aktarır.

Save(TextWriter, SaveOptions)

Bu öğeyi olarak TextWriterseri hale getirerek isteğe bağlı olarak biçimlendirmeyi devre dışı bırak.

Save(String, SaveOptions)

Bu öğeyi bir dosyaya seri hale getirerek isteğe bağlı olarak biçimlendirmeyi devre dışı bırak.

Save(Stream)

Bunu XElement belirtilen Streamöğesine döndürür.

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)

Parametreler

stream
Stream

Bunun XElement çıkışını almak için akış.

Açıklamalar

Serileştirilmiş XML girintili olacaktır. Tüm önemsiz boşluk kaldırılacak ve XML'nin düzgün girintili olması için ek boşluk eklenecektir. Bu yöntemin davranışı, önemsiz boşlukların korunmamasıdır.

Boş alanı denetlemek istiyorsanız parametresi olarak alan SaveOptions aşırı yüklemesini Save kullanın. DisableFormatting Girintisiz XML'yi kaydetmek için seçeneğini kullanın. Bu, yazıcının tüm beyaz boşlukları tam olarak XML ağacında gösterildiği gibi yazmasına neden olur.

OmitDuplicateNamespaces Yinelenen ad alanı bildirimlerini kaldırmak istiyorsanız seçeneğini kullanın.

Şunlara uygulanır

Save(TextWriter)

Bu öğeyi bir TextWriterolarak serileştirin.

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)

Parametreler

textWriter
TextWriter

XElement Yazılacağı TextWriter bir.

Örnekler

Aşağıdaki örnek bir XElementoluşturur, belgeyi bir StringWriteröğesine kaydeder ve ardından dizeyi konsola yazdırır.

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  

Bu örnek aşağıdaki çıkışı oluşturur:

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

Açıklamalar

Serileştirilmiş XML girintili olacaktır. Tüm önemsiz boşluk kaldırılacak ve XML'nin düzgün girintili olması için ek boşluk eklenecektir. Bu yöntemin davranışı, boşluğun korunmamasıdır.

Boşluk denetimi yapmak istiyorsanız parametresi olarak belirtmenize SaveOptions olanak tanıyan öğesinin aşırı yüklemesini Save kullanın. Daha fazla bilgi için bkz . XML'yi yüklerken veya ayrıştırırken boşluğu koruma ve Seri hale getirme sırasında boşluğu koruma.

Ayrıca bkz.

Şunlara uygulanır

Save(String)

Bu öğeyi bir dosyaya serileştirin.

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

Parametreler

fileName
String

String Dosyanın adını içeren bir.

Örnekler

Aşağıdaki örnek bir XElementoluşturur, belgeyi bir dosyaya kaydeder ve ardından dosyayı konsola yazdırır.

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)  

Bu örnek aşağıdaki çıkışı oluşturur:

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

Açıklamalar

Serileştirilmiş XML girintili olacaktır. Tüm önemsiz boşluk kaldırılacak ve XML'nin düzgün girintili olması için ek boşluk eklenecektir. Bu yöntemin davranışı, XML ağacındaki önemsiz boşluk düğümlerinin korunmamasıdır.

Boşluk denetimi yapmak istiyorsanız parametresi olarak belirtmenize SaveOptions olanak tanıyan öğesinin aşırı yüklemesini Save kullanın. Daha fazla bilgi için bkz . XML'yi yüklerken veya ayrıştırırken boşluğu koruma ve Seri hale getirme sırasında boşluğu koruma.

Ayrıca bkz.

Şunlara uygulanır

Save(XmlWriter)

Bu öğeyi bir XmlWriterolarak serileştirin.

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)

Parametreler

writer
XmlWriter

XElement Yazılacağı XmlWriter bir.

Örnekler

Aşağıdaki örnekte bir XElement öğesine nasıl kaydedilecek gösterilmektedir 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())  

Bu örnek aşağıdaki çıkışı oluşturur:

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

Ayrıca bkz.

Şunlara uygulanır

Save(Stream, SaveOptions)

Bunu XElement , isteğe bağlı olarak biçimlendirme davranışını belirterek belirtilen Streamöğesine aktarır.

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)

Parametreler

stream
Stream

Bunun XElement çıkışını almak için akış.

options
SaveOptions

SaveOptions Biçimlendirme davranışını belirten bir nesne.

Açıklamalar

varsayılan olarak options olarak ayarlanır None. Bu seçenek, tüm gereksiz önemsiz boşlukları kaldırır ve XML'nin düzgün girintili olması için uygun önemsiz boşluk ekler.

Girintisiz XML'yi kaydetmek istiyorsanız için bayrağını DisableFormatting optionsbelirtin. Bu, yazıcının tüm beyaz boşlukları tam olarak XML ağacında gösterildiği gibi yazmasına neden olur.

Yinelenen ad alanı bildirimlerini kaldırmak istiyorsanız seçeneğini kullanın OmitDuplicateNamespaces .

Şunlara uygulanır

Save(TextWriter, SaveOptions)

Bu öğeyi olarak TextWriterseri hale getirerek isteğe bağlı olarak biçimlendirmeyi devre dışı bırak.

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)

Parametreler

textWriter
TextWriter

TextWriter XML'nin çıkışını almak için.

options
SaveOptions

SaveOptions Biçimlendirme davranışını belirten bir.

Örnekler

Aşağıdaki örnekte bu yöntemin iki kullanımı gösterilmektedir. İlk kullanımda boşluk korunur. İkinci, biçimlendirme ile seri hale getirmektedir XElement . Belgenin içinde oluşturulurken boşluk olmadığından, boşluk korunarak XML girintisiz olarak çıkışlanır.

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  

Bu örnek aşağıdaki çıkışı oluşturur:

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

Açıklamalar

Girintisiz XML'yi kaydetmek istiyorsanız için bayrağını DisableFormatting optionsbelirtin. Bu, yazıcının tüm boşlukları tam olarak XML ağacında gösterildiği gibi yazmasına neden olur.

Girintili XML'yi kaydetmek istiyorsanız için bayrağını DisableFormatting optionsbelirtmeyin. Bu, tüm gereksiz önemsiz boşlukları kaldırır ve XML'nin düzgün girintili olması için uygun önemsiz boşluk ekler. Bu, varsayılan davranıştır ve parametre olarak almayan options yöntemlerin Save aşırı yüklemelerinin davranışıdır.

Daha fazla bilgi için bkz . XML'yi yüklerken veya ayrıştırırken boşluğu koruma ve Seri hale getirme sırasında boşluğu koruma.

Ayrıca bkz.

Şunlara uygulanır

Save(String, SaveOptions)

Bu öğeyi bir dosyaya seri hale getirerek isteğe bağlı olarak biçimlendirmeyi devre dışı bırak.

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)

Parametreler

fileName
String

String Dosyanın adını içeren bir.

options
SaveOptions

SaveOptions Biçimlendirme davranışını belirten bir.

Örnekler

Aşağıdaki örnekte bu yöntemin iki kullanımı gösterilmektedir. İlk kullanımda boşluk korunur. İkincisi biçimlendirme ile seri hale getirmektedir XElement .

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)  

Bu örnek aşağıdaki çıkışı oluşturur:

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

Açıklamalar

Girintisiz XML'yi kaydetmek istiyorsanız için bayrağını DisableFormatting optionsbelirtin. Bu, yazıcının tüm boşlukları tam olarak XML ağacında gösterildiği gibi yazmasına neden olur.

Girintili XML'yi kaydetmek istiyorsanız için bayrağını DisableFormatting optionsbelirtmeyin. Bu, tüm gereksiz önemsiz boşlukları kaldırır ve XML'nin düzgün girintili olması için uygun önemsiz boşluk ekler. Bu, varsayılan davranıştır ve parametre olarak almayan options yöntemlerin Save aşırı yüklemelerinin davranışıdır.

Daha fazla bilgi için bkz . XML'yi yüklerken veya ayrıştırırken boşluğu koruma ve Seri hale getirme sırasında boşluğu koruma.

Ayrıca bkz.

Şunlara uygulanır