Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk menghilangkan dokumen XML ke dalam objek C#?

Bagaimana untuk menghilangkan dokumen XML ke dalam objek C#?

DDD
Lepaskan: 2025-02-02 17:16:09
asal
843 orang telah melayarinya

How to Deserialize an XML Document into C# Objects?

c# xml deserialization: mengubah data XML menjadi objek

Panduan ini menunjukkan cara menukar dokumen XML ke dalam objek C#, satu proses yang dikenali sebagai deserialization. Mari kita gunakan sampel XML ini:

<?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>
Salin selepas log masuk
untuk deserialize ini, kami membuat kelas C yang sepadan:

[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; }
}

[System.Xml.Serialization.XmlRootAttribute("Cars", Namespace = "", IsNullable = false)]
public class Cars
{
    [XmlArrayItem(typeof(Car))]
    public Car[] Car { get; set; }
}
Salin selepas log masuk
Sekarang, kita boleh deserialize XML menggunakan

: XmlSerializer

XmlSerializer serializer = new XmlSerializer(typeof(Cars));
Cars carData;
using (XmlReader reader = XmlReader.Create(xmlFilePath)) // xmlFilePath should be replaced with the actual file path
{
    carData = (Cars)serializer.Deserialize(reader);
}
Salin selepas log masuk
ingat untuk menggantikan

dengan laluan sebenar ke fail XML anda. xmlFilePath

Sebagai alternatif, anda boleh menggunakan proses dua langkah yang melibatkan XSD:

  1. menghasilkan XSD: Buat definisi skema XML (XSD) dari fail XML anda menggunakan alat yang sesuai (banyak IDE menawarkan fungsi ini).

  2. Menjana kelas C# dari XSD: Gunakan alat baris arahan (disertakan dengan Visual Studio) dengan pilihan xsd.exe untuk menghasilkan kelas C# dari XSD. Ini secara automatik akan membuat kelas mencerminkan struktur XML anda. Kemudian, gunakan /classes seperti yang ditunjukkan di atas. Kaedah ini amat berguna untuk struktur XML yang kompleks. XmlSerializer

Atas ialah kandungan terperinci Bagaimana untuk menghilangkan dokumen XML ke dalam objek C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan