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

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

Linda Hamilton
Linda Hamilton原創
2025-01-15 16:06:44487瀏覽

How to Deserialize XML into Objects using XmlSerializer in C#?

利用C# XmlSerializer將XML反序列化為物件

本文介紹如何使用C#的XmlSerializer類別將XML資料反序列化為物件。 這需要您定義與XML結構相符的C#類別。 步驟如下:

  1. 建立符合的類別結構:

首先,建立一個與XML根元素對應的類別。例如,如果XML的根元素是<StepList>,則建立名為StepList的類別:

<code class="language-csharp">[XmlRoot("StepList")]
public class StepList
{
    // ...
}</code>
  1. 新增屬性:

接下來,為XML中的每個子元素新增對應的屬性到類別中。使用XmlElement特性來指定元素名稱。例如:

<code class="language-csharp">public class Step
{
    [XmlElement("Name")]
    public string Name { get; set; }

    [XmlElement("Desc")]
    public string Desc { get; set; }
}</code>
  1. 使用XmlSerializer進行反序列化:

最後,使用XmlSerializer將XML反序列化為物件:

<code class="language-csharp">XmlSerializer serializer = new XmlSerializer(typeof(StepList));
using (TextReader reader = new StringReader(xmlString)) // xmlString 为您的XML字符串
{
    StepList result = (StepList)serializer.Deserialize(reader);
}</code>

根據提供的XML範例,適當的類別結構如下:

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

透過上述步驟,您可以輕鬆地將XML資料對應到C#物件中,方便後續處理和使用。

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

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