首頁 >後端開發 >C++ >如何使用 XmlSerializer 將 XML 資料反序列化為 C# 物件?

如何使用 XmlSerializer 將 XML 資料反序列化為 C# 物件?

Patricia Arquette
Patricia Arquette原創
2025-01-15 16:03:12731瀏覽

How to Deserialize XML Data into a C# Object Using XmlSerializer?

使用 XmlSerializer 將 XML 資料轉換為 C# 物件

本指南示範如何使用 XmlSerializer 將 XML 資料有效轉換為可用的 C# 物件。 這對於在應用程式中處理 XML 資料至關重要。 關鍵是建立鏡像 XML 結構的 C# 類別。

建立您的 C# 類別

讓我們考慮這個範例 XML:

<code class="language-xml"><steplist><step><name>Name1</name><desc>Desc1</desc></step><step><name>Name2</name><desc>Desc2</desc></step></steplist></code>

要反序列化此 XML,您將定義兩個對應的 C# 類別:

<code class="language-csharp">[XmlRoot("StepList")]
public class StepList
{
    [XmlElement("Step")]
    public List<Step> Steps { get; set; }
}

public class Step
{
    [XmlElement("Name")]
    public string Name { get; set; }
    [XmlElement("Desc")]
    public string Desc { get; set; }
}</code>

XmlRoot 屬性指定 XML 的根元素,而 XmlElement 將 XML 元素對應到類別屬性。

反序列化過程

現在,讓我們使用 XmlSerializer 來執行反序列化:

<code class="language-csharp">string xmlData = @"<steplist><step><name>Name1</name><desc>Desc1</desc></step><step><name>Name2</name><desc>Desc2</desc></step></steplist>";

XmlSerializer serializer = new XmlSerializer(typeof(StepList));
using (TextReader reader = new StringReader(xmlData))
{
    StepList deserializedData = (StepList)serializer.Deserialize(reader);
    // Access and process deserializedData here
}</code>

此程式碼讀取 XML 字串,使用 XmlSerializer 將其轉換為 StepList 對象,然後允許您存取和使用 deserializedData 對像中的資料。

以上是如何使用 XmlSerializer 將 XML 資料反序列化為 C# 物件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn