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中文網其他相關文章!