Skip to content

Instantly share code, notes, and snippets.

@nVlast
Last active March 23, 2016 10:33
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nVlast/1798f8a1ea2d87bc882c to your computer and use it in GitHub Desktop.
Save nVlast/1798f8a1ea2d87bc882c to your computer and use it in GitHub Desktop.
Convert csv file to xml
public static void ToXml(string srcFilepath, string dstFilepath, string rootNodeName, string elementNodeName)
{
using (var parser = new Microsoft.VisualBasic.FileIO.TextFieldParser(srcFilepath))
using (XmlTextWriter writer = new XmlTextWriter(dstFilepath, Encoding.UTF8))
{
parser.TextFieldType = Microsoft.VisualBasic.FileIO.FieldType.Delimited;
parser.SetDelimiters(new string[] { "," });
string[] headers = parser.ReadFields();
writer.WriteStartDocument();
writer.WriteWhitespace("\n");
writer.WriteStartElement(rootNodeName);
writer.WriteWhitespace("\n");
while (!parser.EndOfData)
{
string[] row = parser.ReadFields();
writer.WriteStartElement(elementNodeName);
writer.WriteWhitespace("\n");
for (int i = 0; i < headers.Length; i++)
{
writer.WriteElementString(headers[i], row[i]);
writer.WriteWhitespace("\n");
}
writer.WriteEndElement();
writer.WriteWhitespace("\n");
}
writer.WriteEndElement();
writer.WriteWhitespace("\n");
writer.WriteEndDocument();
writer.WriteWhitespace("\n");
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment