Helah untuk menjana XML yang sah dalam C#
Pengenalan:
Mencipta dokumen XML yang sah dalam C# adalah penting untuk pertukaran dan penyimpanan data. Terdapat beberapa kaedah untuk dipilih, bergantung pada keperluan khusus dan saiz data yang terlibat.
XmlSerializer:
Untuk senario yang memerlukan pemetaan langsung antara objek dan XML, XmlSerializer ialah pilihan yang sesuai. Ia boleh dipetakan terus ke model objek, yang mudah. Walau bagaimanapun, untuk fail XML yang sangat besar, ia mungkin bukan pilihan yang paling cekap.
XDocument dan XmlDocument:
XDocument dan XmlDocument, yang diperkenalkan dalam .NET 3.5, menyediakan cara yang mudah untuk mencipta dan memanipulasi dokumen XML. Mereka menyediakan antara muka yang mesra dan memudahkan untuk membina elemen dan atribut XML. Walau bagaimanapun, mereka boleh menggunakan sejumlah besar memori apabila memproses set data XML yang besar.
XmlWriter:
Jika keperluan utama adalah untuk menulis strim data XML yang besar, XmlWriter ialah pilihan yang lebih sesuai. Ia menyediakan kaedah jejak memori yang rendah dan sangat cekap untuk menulis fail XML yang besar dalam satu laluan.
Contoh:
Gunakan XDocument:
<code class="language-csharp">Console.WriteLine( new XElement("Foo", new XAttribute("Bar", "some & value"), new XElement("Nested", "data")));</code>
Gunakan XmlDocument:
<code class="language-csharp">XmlDocument doc = new XmlDocument(); XmlElement el = (XmlElement)doc.AppendChild(doc.CreateElement("Foo")); el.SetAttribute("Bar", "some & value"); el.AppendChild(doc.CreateElement("Nested")).InnerText = "data"; Console.WriteLine(doc.OuterXml);</code>
Gunakan XmlWriter:
<code class="language-csharp">XmlWriter writer = XmlWriter.Create(Console.Out); writer.WriteStartElement("Foo"); writer.WriteAttributeString("Bar", "Some & value"); writer.WriteElementString("Nested", "data"); writer.WriteEndElement();</code>
Gunakan XmlSerializer:
<code class="language-csharp">[Serializable] public class Foo { [XmlAttribute] public string Bar { get; set; } public string Nested { get; set; } } ... Foo foo = new Foo { Bar = "some & value", Nested = "data" }; new XmlSerializer(typeof(Foo)).Serialize(Console.Out, foo);</code>
Atas ialah kandungan terperinci Bagaimana cara menjana XML yang sah di C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!