使用 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中文网其他相关文章!