Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Deserialize XML ke dalam Senarai Objek dalam C#?

Bagaimana untuk Deserialize XML ke dalam Senarai Objek dalam C#?

DDD
Lepaskan: 2025-01-13 08:13:46
asal
462 orang telah melayarinya

How to Deserialize XML into a List of Objects in C#?

Penyahserialisasian XML C# kepada senarai objek

Dalam sesetengah kes, anda mungkin perlu menyahsiri XML ke dalam format data berstruktur, seperti senarai objek. Artikel ini meneroka kemungkinan dan langkah yang perlu untuk mencapai penyahserikatan khusus ini.

Andaikan XML berikut perlu ditukar kepada List<User>:

<code class="language-xml"><?xml version="1.0"?><user_list><user><id>1</id><name>Joe</name></user><user><id>2</id><name>John</name></user></user_list></code>
Salin selepas log masuk

Untuk melaksanakan penukaran ini, anda boleh menggunakan kelas XmlSerializer. Walau bagaimanapun, untuk menyesuaikan diri dengan struktur XML, ia perlu diubah suai sedikit. Daripada menyahsiri terus ke List<User>, gunakan kelas perantaraan yang mengandungi senarai.

Berikut ialah contoh pelaksanaan kelas pembalut:

<code class="language-csharp">[XmlRoot("user_list")]
public class UserList
{
    public UserList() { Items = new List<User>(); }
    [XmlElement("user")]
    public List<User> Items { get; set; }
}</code>
Salin selepas log masuk

Dengan kelas UserList, proses penyahserikatan menjadi sangat mudah:

<code class="language-csharp">XmlSerializer ser = new XmlSerializer(typeof(UserList));
UserList list = new UserList();
list.Items.Add(new User { Id = 1, Name = "abc" });
list.Items.Add(new User { Id = 2, Name = "def" });
list.Items.Add(new User { Id = 3, Name = "ghi" });
ser.Serialize(Console.Out, list);</code>
Salin selepas log masuk

Siri senarai lanjutan ini menyediakan kaedah yang lebih bersih dan lebih umum untuk menyahsiri XML ke dalam struktur hierarki.

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

sumber:php.cn
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