私はC#を初めて使用し、コーディングはすべて、特定のファイルがフォルダーに表示されたときにトリガーおよびイベントするファイルウォッチャーでしたが、最近、CSVファイルからXMLファイルを生成するタスクが与えられました。
私はいくつかのグーグルを行っ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 ファイルが異なるカテゴリを持つことを除けば、これはうまく機能します...たとえば、一部の行は BUY になり、一部は SELL になります。CSV を BUY または SELL テキストを含む列に解析し、条件ステートメントを使用してそれを確認し、それが BUY の場合は ... XML の 1 つのセットを書き、SELL の場合は別のセットを書くにはどうすればよいですか? XML と EOF まで続行しますか?
いくつかのページを読んだことがありますが、LINQ がその方法のようです。
使用している私のコードがさらに必要な場合は、投稿します。