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

Bagaimana cara deserialize dokumen XML ke dalam objek C#?

Barbara Streisand
Barbara Streisandasal
2025-02-02 17:36:10781semak imbas

How to Deserialize XML Documents into C# Objects?

di persekitaran dokumen XML di bawah persekitaran persekitaran dokumen XML, penjelasan terperinci

Apabila memproses dokumen XML dalam aplikasi .NET, dokumen XML sering bersiri ke dalam objek C#. Proses ini melibatkan menukarkan data XML ke borang perwakilan C#yang sepadan.

Contoh Dokumen XML

Memandangkan dokumen XML berikut yang mengandungi pelbagai maklumat kereta:

<code class="language-xml"><?xml version="1.0" encoding="utf-8"?><cars><car><stocknumber>1020</stocknumber><make>Nissan</make><model>Sentra</model></car><car><stocknumber>1010</stocknumber><make>Toyota</make><model>Corolla</model></car><car><stocknumber>1111</stocknumber><make>Honda</make><model>Accord</model></car></cars></code>
Definisi C#

Untuk memperdalam dokumen XML, kita perlu menentukan kelas C#yang mewakili struktur XML. Buat dua kategori:

    Kelas Kereta: Butiran kereta tunggal.
  • <code class="language-csharp">  [Serializable()]
      public class Car
      {
        [System.Xml.Serialization.XmlElementAttribute("StockNumber")]
        public string StockNumber{ get; set; }
    
        [System.Xml.Serialization.XmlElementAttribute("Make")]
        public string Make{ get; set; }
    
        [System.Xml.Serialization.XmlElementAttribute("Model")]
        public string Model{ get; set; }
      }</code>
  • Kereta: Elemen akar dokumen XML mengandungi pelbagai objek kereta.
  • <code class="language-csharp">  [System.Xml.Serialization.XmlRootAttribute("Cars", Namespace = "", IsNullable = false)]
      public class Cars
      {
        [XmlArrayItem(typeof(Car))]
        public Car[] Car { get; set; }
    
      }</code>
  • Proses pendalaman Serialization

Untuk melepaskan dokumen XML, sila buat kelas carserializer yang mengandungi kaedah deserialize:

Kaedah ini memuat dokumen XML, menggunakan XMLSerializer untuk menukarnya ke objek kereta, dan mengembalikan data bersiri kaunter.
<code class="language-csharp">public class CarSerializer
{
    public Cars Deserialize()
    {
        string path = HttpContext.Current.ApplicationInstance.Server.MapPath("~/App_Data/") + "cars.xml";

        using (XmlReader reader = XmlReader.Create(path))
        {
            XmlSerializer ser = new XmlSerializer(typeof(Cars));
            Cars cars = (Cars)ser.Deserialize(reader);
            return cars;
        }
    }
}</code>

menggunakan data data yang berorientasikan pembawa

Sekarang, anda boleh menggunakan kaedah deseerialize untuk mendapatkan objek kereta yang berurutan, dan kemudian mengaksesnya untuk mengendalikan dan mengambil maklumat mengenai kereta.

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