Rumah >pembangunan bahagian belakang >C++ >Bagaimana cara deserialize XML ke dalam kelas C#?

Bagaimana cara deserialize XML ke dalam kelas C#?

Patricia Arquette
Patricia Arquetteasal
2025-02-02 17:26:131009semak imbas

How to Deserialize XML into C# Classes?

C# xml Revitalisasi: Panduan Penuh

Latar Belakang:

revitalisasi merujuk kepada proses menukar data bersiri kembali ke format objek asalnya. Artikel ini menyediakan panduan lengkap untuk memperkenalkan cara membezakan dokumen XML ke dalam kelas C#yang menunjukkan struktur XML.

Proses Revitalisasi:

Tentukan struktur kelas: Buat kelas C#yang mencerminkan struktur dokumen XML. Gunakan

dan untuk memetakan elemen XML ke atribut kelas.
  1. [Serializable] Buat logik derivatif: [XmlElement] Melaksanakan kaedah, dan dokumen XML bersiri ke dalam contoh kelas
  2. .
<code class="language-csharp">[Serializable()]
public class Car
{
    [XmlElementAttribute("StockNumber")]
    public string StockNumber { get; set; }

    [XmlElementAttribute("Make")]
    public string Make { get; set; }

    [XmlElementAttribute("Model")]
    public string Model { get; set; }
}

[XmlRootAttribute("Cars", IsNullable = false)]
public class Cars
{
    [XmlArrayItem(typeof(Car))]
    public Car[] Car { get; set; }
}</code>
  1. Kaedah alternatif: Cars Kaedah lain ialah menggunakan XSD (definisi mod XML) untuk menjana kelas C#yang mematuhi struktur XML.
<code class="language-csharp">public class CarSerializer
{
    public Cars Deserialize(string path)
    {
        // 读取XML文件
        XmlSerializer serializer = new XmlSerializer(typeof(Cars));
        using (StreamReader reader = new StreamReader(path))
        {
            // 将XML反序列化到Cars对象
            return (Cars)serializer.Deserialize(reader);
        }
    }
}</code>
simpan fail XML ke cakera sebagai

menghasilkan mod XSD:

menjana c#code:
  • foo.xml Ini akan mencipta , yang mengandungi kelas C#dengan struktur XML.
  • xsd foo.xml menggunakan pelaksanaan alternatif:
  • xsd foo.xsd /classes Melalui langkah -langkah di atas, anda boleh dengan mudah membedakan data XML ke dalam objek C#untuk memudahkan pemprosesan dan penggunaan berikutnya. Sila ambil perhatian bahawa
  • digantikan dengan laluan fail XML sebenar anda.

Atas ialah kandungan terperinci Bagaimana cara deserialize XML ke dalam kelas 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