首页 > 解决方案 > 如何在 C# 中自动设置 CSV 文件中的标头属性

问题描述

我的程序经过硬编码以了解 CSV 文件的标题。

 public class PeopleDataClass // here we say each value is going to be a property in my class
    {
        public string Name { get; set; }
        public string AddressLine1 { get; set; }
        public string AddressLine2 { get; set; }
    }

然后使用它,我可以设置我想如何在另一个函数中将其更改为 JSON/XML,例如:

 public static void turnCsvIntoXml() // XML Data
    {
        var csvData = File.ReadAllLines(@"C:example\PeopleData.csv"); 
        XElement xml = new XElement("PeopleFromPersonData",
        from str in csvData
        let columns = str.Split(',')
        select new XElement("People",
            new XElement("Name", columns[0]),
            new XElement("AddressLine1", columns[1]),
            new XElement("AddressLine2", columns[2]))

        );
        Console.WriteLine(xml);
    }

我的问题是如何自动设置这些属性,以便用户可以输入他们自己的文件位置(我已经设置了这个设置以将用户输入作为变量并使用它)。

因此,如果用户输入一个 CSV 文件,其标题为“国家、年份、年龄、母亲姓名”。我如何进行将标头设置为属性然后使用自动设置的属性将数据转换为 JSON/XML 的过程

标签: c#xmlcsv

解决方案


尝试以下:

    public class PeopleDataClass // here we say each value is going to be a property in my class
    {
        public static List<string> headers { get; set; }
        public List<string> row { get; set; }

    }

推荐阅读