如何将所选列从 CSV 获取到我的 XML c#

  • 本文关键字:获取 XML CSV c# xml csv
  • 更新时间 :
  • 英文 :


>我需要帮助才能将一些特定/选定的数据/列从CSV文件导出到我的XML文件中? 我在这里找到了这段代码,但这需要所有列到 XML。

var lines = File.ReadAllLines(@"testbsp.csv");
var xml = new XElement("Deltagere",
lines.Select(line => new XElement("Deltager",
line.Split(';')
.Select((column, index) => new XElement("Column" + index, column)))));

知道吗?谢谢!

使用Cinchoo ETL - 一个开源库,您只需几行代码即可轻松地将CSV转换为xml文件。

对于下面的示例 CSV 文件,下面的示例显示了如何生成具有 Id、仅名称列的 xml 文件

示例 CSV:

Id, Name, City
1, Tom, NY
2, Mark, NJ
3, Lou, FL
4, Smith, PA
5, Raj, DC

法典:

string csv = @"Id, Name, City
1, Tom, NY
2, Mark, NJ
3, Lou, FL
4, Smith, PA
5, Raj, DC";
StringBuilder sb = new StringBuilder();
using (var p = ChoCSVReader.LoadText(csv).WithFirstLineHeader()
.WithField("Id")
.WithField("Name")
)
{
using (var w = new ChoXmlWriter(sb)
.Configure(c => c.RootName = "Emps")
.Configure(c => c.NodeName = "Emp")
)
{
w.Write(p);
}
}
Console.WriteLine(sb.ToString());

输出:

<Emps>
<Emp>
<Id>1</Id>
<Name>Tom</Name>
</Emp>
<Emp>
<Id>2</Id>
<Name>Mark</Name>
</Emp>
<Emp>
<Id>3</Id>
<Name>Lou</Name>
</Emp>
<Emp>
<Id>4</Id>
<Name>Smith</Name>
</Emp>
<Emp>
<Id>5</Id>
<Name>Raj</Name>
</Emp>
</Emps>

希望对您有所帮助。

基于您的代码:

例如,如果您有这样的csv文件:

string csv = @"Id, Name, City
1, Tom, NY
2, Mark, NJ
3, Lou, FL
4, Smith, PA
5, Raj, DC";
// Read all lines
var lines[] = File.ReadAllLines(csv);
XElement xml = new XElement("Deltagere",
// get second column of second line : Tom
new XElement("NodeName", lines[1].Split(",").GetValue(1)),
// get third column of fourth line : FL
new XElement("NodeName2", lines[3].Split(",").GetValue(2))
);

你会得到一个像这样的XML文件:

<Deltagere>
<NodeName>Tom</NodeName>
<NodeName2>FL</NodeName2>
</Deltagere>

最新更新