我正在尝试将CSV文件转换为XML。我目前使用的代码是:
XElement xml = new XElement(rootElementName,
lines.Where((line, index) => index > 0)
.Select(line => new XElement(itemElementName,
line.Split(',').Select((column, index) => new XElement(headers[index], column)))));
这很好用。我面临的问题是我正在尝试加载一个只有一行包含列标题的CSV文件。我想创建一个包含空项的空XML:
<XML>
<item>
<column1></column1>
<column2></column2>
</item>
</XML>
等等。我对lambda不太好,所以我不确定是否有办法做我想做的事。
由于
答案 0 :(得分:0)
好的,稍微戳了一下后我就开始工作了:
if (lines.Length == 1)
{
xml = new XElement(rootElementName,
lines.Select(line => new XElement(itemElementName,
line.Split(',').Select((column, index) => new XElement(headers[index], "")))));
}
else
{
xml = new XElement(rootElementName,
lines.Where((line, index) => index > 0)
.Select(line => new XElement(itemElementName,
line.Split(',').Select((column, index) => new XElement(headers[index], column)))));
}
这就是我想要的,但如果有更好的方法,请随时告诉我。感谢