我正在尝试创建CSV到XML的转换器。 XML文件的字段数可能不一定总是相同的,因此我试图获取这个数字,然后用它来创建元素
string[] source = new string[] { ligne };
XElement element = new XElement("DOCUMENT",
new XElement("GED",
from li in source
let champs = ligne.Split(';')
select new XElement("INDEX",
// where i'd like to put the loop code
new XElement(col[0], champs[0]),
new XElement(col[1], champs[1]),
new XElement(col[2], champs[2])... //etc,
)
)
);
//the code i'd like to put in the previous code
for (int i = 0; i < col.Length +1; i ++)
{
new XElement(col[i], champs[i]);
},
答案 0 :(得分:0)
除了使用循环,您还可以使用Linq:
<link href="https://cdn.jsdelivr.net/npm/bulma@0.8.0/css/bulma.min.css" rel="stylesheet" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="map-card"></div>
答案 1 :(得分:0)
您可以尝试以下代码将csv文件转换为所需的xml文件。
var lines = File.ReadAllLines(@"D:\t\Book1.csv");
string[] headers = lines[0].Split(',').Select(x => x.Trim('\"')).ToArray();
var xml = new XElement("TopElement",
lines.Where((line, index) => index > 0).Select(line => new XElement("Item",
line.Split(',').Select((column, index) => new XElement(headers[index], column)))));
xml.Save(@"d:\xmlout.xml");
CSV文件:
Xml文件: