首页 > 后端开发 > C++ > 如何将XML文档供应到C#对象?

如何将XML文档供应到C#对象?

DDD
发布: 2025-02-02 17:16:09
原创
751 人浏览过

How to Deserialize an XML Document into C# Objects?

本指南演示了如何将XML文档转换为C#对象,该过程称为避难所化。 让我们使用此示例XML:

为此,我们创建匹配的c#类:

<code class="language-xml"><?xml version="1.0" encoding="utf-8"?>
<cars>
  <car>
    <stocknumber>1020</stocknumber>
    <make>Nissan</make>
    <model>Sentra</model>
  </car>
  <car>
    <stocknumber>1010</stocknumber>
    <make>Toyota</make>
    <model>Corolla</model>
  </car>
  <car>
    <stocknumber>1111</stocknumber>
    <make>Honda</make>
    <model>Accord</model>
  </car>
</cars></code>
登录后复制
现在,我们可以使用

>:

>进行XML的序列化。
<code class="language-csharp">[Serializable]
public class Car
{
    [System.Xml.Serialization.XmlElementAttribute("StockNumber")]
    public string StockNumber { get; set; }

    [System.Xml.Serialization.XmlElementAttribute("Make")]
    public string Make { get; set; }

    [System.Xml.Serialization.XmlElementAttribute("Model")]
    public string Model { get; set; }
}

[System.Xml.Serialization.XmlRootAttribute("Cars", Namespace = "", IsNullable = false)]
public class Cars
{
    [XmlArrayItem(typeof(Car))]
    public Car[] Car { get; set; }
}</code>
登录后复制

记住将XmlSerializer替换为XML文件的实际路径。> 或者,您可以使用涉及XSD的两步过程:

<code class="language-csharp">XmlSerializer serializer = new XmlSerializer(typeof(Cars));
Cars carData;
using (XmlReader reader = XmlReader.Create(xmlFilePath)) // xmlFilePath should be replaced with the actual file path
{
    carData = (Cars)serializer.Deserialize(reader);
}</code>
登录后复制

xmlFilePath生成XSD:

使用适当的工具从XML文件创建XML架构定义(XSD)(许多IDE提供此功能)。

从XSD中生成C#类:
  1. 使用

    命令行工具(与Visual Studio一起使用)和选项,以从XSD生成C#类。 这将自动创建镜像XML结构的类。 然后,使用如上图所示。 该方法对于复杂的XML结构特别有用。>

以上是如何将XML文档供应到C#对象?的详细内容。更多信息请关注PHP中文网其他相关文章!

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