且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

序列化 &将属性反序列化为 list;使用 C# 编写 xml 文件

更新时间:2023-11-05 13:31:04

您的 XML 定义与您的模型不匹配.

Your XML definition does not match your models.

<?xml version="1.0" encoding="utf-8" ?>
<Configuration>
  <CSVFile>
    <csvstrings>ff</csvstrings>
    <csvstrings>gg</csvstrings>
    <csvstrings>jj</csvstrings>
  </CSVFile> 
</Configuration>

它需要以下模型:

配置
CSV文件

Configuration
CSVFile

因此,您的实现应该是:

So, your implementation should be:

[Serializable]
public class CSVFile
{
    [XmlElement("csvstrings")]
    public List<string> csvstrings { get; set; }

    public CSVFile()
    {

    }
}

[Serializable, XmlRoot("Configuration"), XmlType("Configuration")]
public class Configuration
{
    public Configuration()
    {

    }

    [XmlElement("CSVFile")]
    public CSVFile csvs { get; set; }
}

public class Mytutorial
{
    string configFilePath = "above xml file path"

    XmlSerializer serializer = new XmlSerializer(typeof(Configuration));
    FileStream xmlFile = new FileStream(configFilePath, FileMode.Open);
    Configuration con = (Configuration)serializer.Deserialize(xmlFile);
}