XDocument.Save Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Bunu XDocument bir dosya, , TextWriterveya olarak XmlWriterserileştirir.
Aşırı Yüklemeler
Save(XmlWriter) | |
Save(Stream) | |
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)
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
Ö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)
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
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)
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
- 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 options
belirtin. 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 options
belirtin. 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 options
belirtmeyin. 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 options
belirtin. 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 options
belirtmeyin. 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.
- WriteTo(XmlWriter)
- Load
- Parse
- LINQ to XML'e genel bakış
- Nasıl yapılır: Kodlanmış Belge Okuma ve Yazma