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

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

Barbara Streisand
发布: 2025-01-15 15:56:47
原创
380 人浏览过

How to Deserialize XML into C# Objects Using XmlSerializer?

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

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