0

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

谢谢

4

1 回答 1

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

这可以满足我的要求,但如果有更好的方法,请随时告诉我。谢谢

于 2013-06-06T18:16:54.700 回答