使用C#将列表 xml文件的属性序列化和反序列化

如何使用C#序列化和反序列化xml文件。 我为这个xml创建了可序列化的类。

在下面的一些代码中反序列化这个xml,列表只能得到单个值。

   ff gg jj   [Serializable, XmlRoot("Configuration"), XmlType("Configuration")] public class Configuration { public Configuration() { CSVFile = new List(); } [XmlElement("CSVFile")] public List CSVFile { 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); } 

只需按以下方式更改您的课程即可

 public class Configuration { [XmlArray("CSVFile")] public List CSVFile { get; set; } } 

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

    ff gg jj   

它需要以下型号:

组态
CSVFile

所以,你的实现应该是:

 [Serializable] public class CSVFile { [XmlElement("csvstrings")] public List 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); }