【发布时间】:2016-02-19 03:38:10
【问题描述】:
这是我的 .csv 文件的一部分
CRUISE-ID;DEP-PORT;DEP-NAME-PORT;DEP-DATE;DEP-DAY;DEP-WEEKDAY;DEP-TIME;ARR-PORT;ARR-NAME-PORT;ARR-DATE;ARR-DAY;ARR-WEEKDAY;ARR-TIME;ITIN-CD;AREA/DEST
OR20160209BGIBGI;BGI;Bridgetown, Barbados;09/02/16;1;Tuesday;2000;POS;Port of Spain, Trinidad and Tobago;10/02/16;2;Wednesday;0900;U19M;CAR;
OR20160209BGIBGI;POS;Port of Spain, Trinidad and Tobago;10/02/16;2;Wednesday;1700;RSU;Roseau, Dominica;11/02/16;3;Thursday;1000;U19M;CAR;
OR20160209BGIBGI;RSU;Roseau, Dominica;11/02/16;3;Thursday;1800;STG;Saint George, Grenada;12/02/16;4;Friday;0800;U19M;CAR;
OR20160209BGIBGI;STG;Saint George, Grenada;12/02/16;4;Friday;1800;FDF;Fort de France, Martinique;13/02/16;5;Saturday;0800;U19M;CAR;
在第一行中,这些是 xml 的标签。我可以在没有这些标签的情况下将其转换为 xml。
var lines = File.ReadAllLines(csvpath);
var xmlFile = new XElement("TopElement",
lines.Select(line=> new XElement("Items",
line.Split(';')
.Select((column, index) => new XElement("Column" + index, column)))));
xmlFile.Save(xmlpath);
然后输出是这样的
<TopElement>
<Items>
<Column0>CODE</Column0>
<Column1>LOC-CD</Column1>
<Column2>PORT-CD</Column2>
<Column3>DESC</Column3>
<Column4>START-DT</Column4>
<Column5>END-DT</Column5>
<Column6>SHIP-CD</Column6>
<Column7>PAXTYPE</Column7>
<Column8>INVENTORIED</Column8>
<Column9>APPLY-TO</Column9>
<Column10>REGION-CD</Column10>
<Column11>PRICE-TYPE</Column11>
<Column12>PRICE-BASIS</Column12>
<Column13>PRICE-I</Column13>
<Column14>PRICE-J</Column14>
<Column15>PRICE-C</Column15>
<Column16>PRICE-A</Column16>
<Column17>PRICE-S</Column17>
<Column18>DESC-LONG</Column18>
</Items>
<Items>
<Column0>ACF01</Column0>
<Column1>ARR</Column1>
<Column2>ACE</Column2>
<Column3>TOUR OF NORTHERN LANZAROTE</Column3>
<Column4>24/12/15</Column4>
<Column5>25/02/16</Column5>
<Column6>OX</Column6>
<Column7>*</Column7>
<Column8>YES</Column8>
<Column9>I,J,C,A,S</Column9>
<Column10>WEE</Column10>
<Column11>N/A</Column11>
<Column12>P</Column12>
<Column13>0</Column13>
<Column14>32</Column14>
这意味着 xml 文件的元素也作为值来。我想要这样。
<row>
<CODE>ACF01</CODE>
<LOC-CD>ARR</LOC-CD>
<PORT-CD>ACE</PORT-CD>
<DESC>TOUR OF NORTHERN LANZAROTE</DESC>
<START-DT>24/12/15</START-DT>
<END-DT>25/02/16</END-DT>
<SHIP-CD>OX</SHIP-CD>
<PAXTYPE>*</PAXTYPE>
<INVENTORIED>YES</INVENTORIED>
<APPLY-TO>I,J,C,A,S</APPLY-TO>
<REGION-CD>WEE</REGION-CD>
<PRICE-TYPE>N/A</PRICE-TYPE>
<PRICE-BASIS>P</PRICE-BASIS>
<PRICE-I>0</PRICE-I>
<PRICE-J>32</PRICE-J>
<PRICE-C>32</PRICE-C>
<PRICE-A>45</PRICE-A>
<PRICE-S>45</PRICE-S>
<DESC-LONG> del Rio- have your camera ready for capturing enchanting views for your memory book.</DESC-LONG>
</row>
我该怎么做。请帮帮我。
【问题讨论】:
标签: c# xml asp.net-mvc csv