首页 > 后端开发 > C++ > 如何使用 XmlSerializer 将 XML 数据反序列化为 C# 对象?

如何使用 XmlSerializer 将 XML 数据反序列化为 C# 对象?

Patricia Arquette
发布: 2025-01-15 16:03:12
原创
733 人浏览过

How to Deserialize XML Data into a C# Object Using XmlSerializer?

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

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板