У меня есть задача, где я должен прочитать CSV-файл и записать содержимое в список C #.
Поскольку файл csv может изменить свою компоновку (заголовок / порядок) в будущем, я хочу использовать файл конфигурации для отображения атрибутов.
Теперь мне интересно, есть ли пример, чтобы мне не пришлось заново изобретать weel: D
Мой источник данных выглядит следующим образом (разделитель табуляции разделен)
Customer No. Customer Name Created Discount
10215 John Doe 2010-08-25 5050.23
А мой класс такой:
Class Customer
{
string CustomerNo {get;set;}
string CustomerName {get;set;}
DateTime CreatedOn {get;set;}
decimal Discount {get;set;}
}
Теперь я хочу получить внешний xml-файл с определением, чтобы я мог изменить его во время выполнения без перекомпиляции кода.
<customermapping mapstoclass="my.namespace.Customer">
<attribute csvcaption="Customer No." mapstoproperty="CustomerNo"
typeof="System.String" required="true">
<attribute csvcaption="Customer Name" mapstoproperty="CustomerName"
typeof="System.String" required="true">
<attribute csvcaption="Created" mapstoproperty="CreatedOn"
typeof="System.DateTime" required="false">
<attribute csvcaption="Discount" mapstoproperty="Discount"
typeof="System.Decimal" required="false">
</customermapping>
В конце дня я хочу сделать следующее:
(Я уже могу прочитать все значения из файла CSV (первая строка заголовка и в отдельном массиве)
List<Customer> customers =
CreateCustomerList(string[] csvCaptions, string[] csvLines,
"c:\customermapping.xml");
Не должно быть слишком сложно, но, как я уже сказал, если кто-то уже делал что-то подобное, любые примеры приветствуются.