C# CSV to XML Conversion, CSV to XML Conversion using LINQ
The following code reads the CSV file to an array. LINQ is used to loop through the array and the contents are written as XML using XElement (System.XML.Linq).
public void ConvertCSVToXML()
{
String[] FileContent = File.ReadAllLines(@"C:\Temp\vba.csv");
String XMLNS = "";
XElement Inv = new XElement("Invoice",
from items in FileContent
let fields = items.Split(',')
select new XElement("Item",
new XElement("ID", fields[0]),
new XElement("Name", fields[1]),
new XElement("Price", fields[2]),
new XElement("Availability", fields[3]),
new XElement("TotalPrice", fields[4])
)
);
File.WriteAllText(@"C:\Temp\vba.xml", XMLNS + Inv.ToString() );
}
The output XML looks like
LINQ and C#, C# Convert CSV To XML, .NET CSV To XML, LINQ CSV to XML, Convert Text files to XML using C#,
2 comments:
Is there a way to do this in reverse? using LINQ to convert an XML file to a comma delimited text file?
You may check out http://xmltocsv.codeplex.com/, I believe this has a conversion that uses Linq to produce CSV from an XML file.
Post a Comment