Aracılığıyla paylaş


XStreamingElement.Save Yöntem

Tanım

Bu akış öğesini serileştirin. Çı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 XStreamingElement belirtilen Streamöğesine döndürür.

Save(TextWriter)

Bu akış öğesini bir TextWriterolarak serileştirin.

Save(String)

Bu akış öğesini bir dosyaya seri hale getirme.

Save(XmlWriter)

Bu akış öğesini bir XmlWriterolarak serileştirin.

Save(Stream, SaveOptions)

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

Save(TextWriter, SaveOptions)

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

Save(String, SaveOptions)

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

Save(Stream)

Bunu XStreamingElement 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 XDocument çı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.

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

Şunlara uygulanır

Save(TextWriter)

Bu akış öğesini 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

XStreamingElement Yazılacağı TextWriter bir.

Örnekler

Aşağıdaki örnek bir kaynak XML ağacı oluşturur ve ardından kaynak XML ağacında bir sorgu kullanarak örneği XStreamingElement oluşturur. Ardından akış öğesini öğesine StringWriteryazar.

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

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

<?xml version="1.0" encoding="utf-16"?>  
<NewRoot>  
  <DifferentChild>3</DifferentChild>  
  <DifferentChild>4</DifferentChild>  
  <DifferentChild>5</DifferentChild>  
</NewRoot>  

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ş alanı denetlemek istiyorsanız, bunun aşırı yüklemelerinden Save SaveOptions birini parametre olarak 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 akış öğesini bir dosyaya seri hale getirme.

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 akış XML ağacı oluşturur. Daha sonra akış XML ağacını bir dosyaya serileştirir.

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

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

<?xml version="1.0" encoding="utf-8"?>  
<NewRoot>  
  <DifferentChild>3</DifferentChild>  
  <DifferentChild>4</DifferentChild>  
  <DifferentChild>5</DifferentChild>  
</NewRoot>  

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ş alanı denetlemek istiyorsanız, bunun aşırı yüklemelerinden Save SaveOptions birini parametre olarak 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 akış öğesini 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 örnek bir XStreamingElement oluşturur ve bunu bir XmlWriteröğesine yazar.

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

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

<NewRoot><DifferentChild>5</DifferentChild></NewRoot>  

Ayrıca bkz.

Şunlara uygulanır

Save(Stream, SaveOptions)

Bunu XStreamingElement , 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 XDocument çı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 akış öğesini 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. İkincisi biçimlendirme ile seri hale getirmektedir 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())  

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

<?xml version="1.0" encoding="utf-16"?><NewRoot><DifferentChild>3</DifferentChild></NewRoot>  
------  
<?xml version="1.0" encoding="utf-16"?>  
<NewRoot>  
  <DifferentChild>3</DifferentChild>  
</NewRoot>  

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 akış öğesini 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 nesne.

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

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

<?xml version="1.0" encoding="utf-8"?><NewRoot><DifferentChild>3</DifferentChild></NewRoot>  
------  
<?xml version="1.0" encoding="utf-8"?>  
<NewRoot>  
  <DifferentChild>3</DifferentChild>  
</NewRoot>  

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