Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Mencipta XML Sah dengan Cekap dalam C#?

Bagaimanakah Saya Boleh Mencipta XML Sah dengan Cekap dalam C#?

Barbara Streisand
Barbara Streisandasal
2025-01-25 05:56:14970semak imbas

How Can I Efficiently Create Valid XML in C#?

Menjana XML yang Sah dalam C#

Panduan ini meneroka kaedah yang cekap untuk mencipta dokumen XML yang sah dalam C#, memenuhi pelbagai senario. Pendekatan optimum bergantung pada faktor seperti volum data, keperluan model objek dan keutamaan prestasi.

Kaedah 1: Memanfaatkan XmlSerializer

Pendekatan ini secara langsung memetakan objek C# kepada XML. Walau bagaimanapun, ia mewajibkan pengambil dan penyetel awam untuk semua sifat objek, memberikan pengehadan untuk objek tidak boleh diubah.

Kaedah 2: Menggunakan XDocument dan XmlDocument

Diperkenalkan dalam .NET 3.5, XDocument dan XmlDocument menawarkan manipulasi XML intuitif. Ia sangat serba boleh untuk membina dokumen XML dengan kerumitan yang berbeza-beza.

Kaedah 3: Menggunakan XmlWriter

Untuk strim XML yang besar, XmlWriter cemerlang kerana kecekapan tulis sekali. Walaupun pendekatan yang lebih asas, ia memberikan peningkatan prestasi yang ketara.

Contoh Ilustrasi:

Berikut ialah contoh yang menunjukkan setiap kaedah:

XDocument Contoh:

<code class="language-csharp">Console.WriteLine(
    new XElement("Foo",
        new XAttribute("Bar", "some & value"),
        new XElement("Nested", "data")));</code>

XmlDocument Contoh:

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

XmlWriter Contoh:

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

XmlSerializer Contoh:

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

Memilih kaedah yang betul bergantung pada spesifikasi aplikasi anda. Pertimbangkan saiz data, keperluan pemetaan objek dan prestasi perlu memilih pendekatan yang paling cekap untuk menjana XML yang sah dalam projek C# anda.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencipta XML Sah dengan Cekap dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn