Я новичок в C #, и все, что я кодировал, были файловыми наблюдателями, которые запускались и происходили, когда определенный файл появлялся в папке, но недавно мне дали задание создать файл XML из файла CSV.
Я немного погуглил и нашел код, который использует File.ReadAllLines
для чтения CSV-файла, а затем использует XElement
для создания XML-файла.
......................
string[] source = File.ReadAllLines("DailyEZETaranTrades.csv");
source = source.Skip(2).Take(source.Length - 1).ToArray();
XElement cust = new XElement("GenevaLoader",
from str in source.Skip(2).Take(source.Length - 1)
let fields = str.Split(',')
select new XElement("Buy_New",
new XElement("RecordID", fields[0].Replace(" ", "")),
new XElement("Portfolio", fields[1].Replace(" ", "")),
new XElement("Broker", fields[2].Replace(" ", "")),
new XElement("Custodian", fields[3].Replace(" ", "")),
new XElement("Transaction", fields[4].Replace(" ", "")),
new XElement("Status", fields[5].Replace(" ", "")),
new XElement("SecurityType", fields[6].Replace(" ", "")),
new XElement("Security", fields[7].Replace(" ", "")),
new XElement("SecurityDescription", fields[8].Replace(" ", "")),
....
....
....
это отлично работает, за исключением того, что мой файл cvs будет иметь разные категории ... Например, некоторые строки будут ПОКУПАТЬ, а некоторые - ПРОДАВАТЬ. Как я могу проанализировать CSV в столбце, содержащем текст BUY или SELL, а затем использовать условный оператор, чтобы проверить это, и если это BUY... напишите один набор XML, если это SELL, напишите другой набор XML и продолжайте до EOF ?
Я прочитал несколько страниц, и мне кажется, что LINQ — это то, что нужно?
если вам нужно больше моего кода, который я использую, я опубликую его.
stop rolling your own CSV parser
! Строка с.Split(',')
- это то, о чем вы пожалеете. - person Darin Dimitrov   schedule 08.01.2013