Wednesday, September 7, 2011

Convert Tab Delimited File to XmlDocument in C#

To convert a tab delimited file to an XmlDocument here is a simple function:


using System.Data;
using System.IO;
using System.Text;
using System.Xml;

...
private XmlDocument getFileData()
{

string path = base.Server.MapPath("tab_data.txt");

DataSet ds = new DataSet();
DataTable dt = ds.Tables.Add("MyData");

using (StreamReader sr = new StreamReader(path))
{
int columncount = 0;
string headerRow = sr.ReadLine();
string[] headers = headerRow.Split('\t');
foreach (string h in headers)
{
DataColumn dc = new DataColumn(h.Trim());
dt.Columns.Add(dc);
}
while (sr.Peek() != -1)
{
columncount = 0;
string data = sr.ReadLine();
string[] cells = data.Split('\t');
DataRow row = dt.NewRow();
foreach (string c in cells)
{
row[columncount] = c.Trim();
columncount++;
}
dt.Rows.Add(row);
}
}

// Call Helper function to convert Datatable to XmlDocument
return DataTableToXML(dt);


}

public XmlDocument DataTableToXML(DataTable table)
{

XmlDocument _XMLDoc = new XmlDocument();

_XMLDoc.LoadXml(table.DataSet.GetXml());

return _XMLDoc;

}

No comments:

Post a Comment