转换CSV与只有头到XML

本文关键字:XML CSV 转换 | 更新日期: 2023-09-27 18:17:27

我正在尝试将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,所以我不确定是否有办法做我想做的事。

谢谢

转换CSV与只有头到XML

好了,在戳了一下之后,我让它工作了:

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)))));
            }

这是我想要的,但如果有更好的方法,请随时让我知道。由于