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

Bagaimana untuk menghilangkan dokumen XML ke dalam objek C#?

DDD
DDDasal
2025-02-02 17:16:09812semak imbas

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:

<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>
untuk deserialize ini, kami membuat kelas C yang sepadan:

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

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

: XmlSerializer

<code class="language-csharp">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);
}</code>
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:
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