XDocument.Save Yöntem

Tanım

Bunu XDocument bir dosya, , TextWriterveya olarak XmlWriterserileştirir.

Aşırı Yüklemeler

Save(XmlWriter)

Bunu XDocument bir XmlWriterolarak seri hale getirme.

Save(Stream)

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

Save(TextWriter)

Bunu XDocument olarak TextWriterseri hale getirme.

Save(String)

Varsa, varolan bir dosyanın üzerine yazarak bunu XDocument bir dosyaya seri hale getirin.

Save(Stream, SaveOptions)

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

Save(TextWriter, SaveOptions)

Bunu XDocument bir TextWriterolarak seri hale getirerek isteğe bağlı olarak biçimlendirmeyi devre dışı bırak.

Save(String, SaveOptions)

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

Save(XmlWriter)

Bunu XDocument bir XmlWriterolarak seri hale getirme.

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

XDocument Yazılacağı XmlWriter bir.

Örnekler

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

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

<Child>  
  <GrandChild>some content</GrandChild>  
</Child>  

Ayrıca bkz.

Şunlara uygulanır

Save(Stream)

Bunu XDocument 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)

Bunu XDocument olarak TextWriterseri hale getirme.

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

XDocument Yazılacağı TextWriter bir.

Örnekler

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

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

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

<?xml version="1.0" encoding="utf-16"?>  
<Root>  
  <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ışı, önemsiz boşlukların korunmamasıdır.

Boş alanı denetlemek istiyorsanız parametresi olarak alan SaveOptions 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)

Varsa, varolan bir dosyanın üzerine yazarak bunu XDocument bir dosyaya seri hale getirin.

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

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

Örnekler

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

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

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

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

Açıklamalar

Seri hale getirilmiş XML girintili olacaktır. Tüm önemsiz boşluklar kaldırılır ve XML'nin düzgün girintili olması için ek boşluk eklenir. Bu yöntemin davranışı, önemsiz boşlukların korunmamasıdır.

Boşluğu denetlemek istiyorsanız, parametresi olarak alan SaveOptions 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 Serileştirme sırasında boşluğu koruma.

Ayrıca bkz.

Şunlara uygulanır

Save(Stream, SaveOptions)

Bunu XDocument , 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.

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)

Bunu XDocument bir TextWriterolarak seri 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ımları gösterilmektedir. İlk kullanım, biçimlendirme ile serileştirir XDocument . İkincisi boşluğu korur. Belgenin içinde oluşturulurken boşluk olmadığından, boşluk korunarak XML girintilenmeden çıkışlanır.

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  

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

<?xml version="1.0" encoding="utf-16"?>  
<Root>  
  <Child>content</Child>  
</Root>  
<?xml version="1.0" encoding="utf-16"?><Root><Child>content</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, bayrağını DisableFormatting optionsbelirtmeyin. Bu işlem, 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 Serileştirme sırasında boşluğu koruma.

Ayrıca bkz.

Şunlara uygulanır

Save(String, SaveOptions)

Bunu XDocument 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

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

options
SaveOptions

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

Örnekler

Aşağıdaki örnekte bu yöntemin iki kullanımları gösterilmektedir. İlk kullanımda boşluk korunur. İkincisi, girintileme ile öğesini XDocument seri hale getirmektedir.

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

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

<?xml version="1.0" encoding="utf-8"?><Root><Child>content</Child></Root>  
<?xml version="1.0" encoding="utf-8"?>  
<Root>  
  <Child>content</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, bayrağını DisableFormatting optionsbelirtmeyin. Bu işlem, 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 Serileştirme sırasında boşluğu koruma.

Ayrıca bkz.

Şunlara uygulanır