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

如何有效地將 XML 資料反序列化為 C# 物件?

Patricia Arquette
發布: 2025-01-15 16:12:44
原創
619 人瀏覽過

How to Effectively Deserialize XML Data into C# Objects?

C# XML反序列化:完整指引

將XML資料反序列化為物件是存取和處理各種應用程式中結構化資訊的關鍵步驟。本文將深入探討如何建構類別以實現成功的XML反序列化。

建構用於反序列化的類別

考慮以下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,定義以下類別:

<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>
登入後複製

範例用法

以下測試程式碼示範了反序列化過程:

<code class="language-csharp">string testData = @"<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(testData))
{
    StepList result = (StepList)serializer.Deserialize(reader);
}</code>
登入後複製

從檔案載入

如果XML資料儲存在檔案中,可以使用FileStream進行反序列化:

<code class="language-csharp">using (FileStream fileStream = new FileStream("<你的文件路径>", FileMode.Open))
{
    StepList result = (StepList)serializer.Deserialize(fileStream);
}</code>
登入後複製

透過遵循這些指南並使用提供的範例,您可以有效地反序列化XML數據,並在應用程式中將其作為物件處理。

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

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板