使用XmlSerializer將XML反序列化為C#物件
本文探討如何使用XmlSerializer
類別將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>
接下來,您可以使用XmlSerializer
進行反序列化。以下是一個範例測試程式碼:
<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
中並將其傳遞給XmlSerializer
:
<code class="language-csharp">using (FileStream fileStream = new FileStream("<文件路径>", FileMode.Open)) { StepList result = (StepList)serializer.Deserialize(fileStream); }</code>
請將<文件路径>
替換為您的XML檔案的實際路徑。
以上是如何使用 XmlSerializer 將 XML 反序列化為 C# 物件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!