XML to CSV
Source File Format
<?xml version="1.0" encoding="utf-8" ?>
<users>
<user>
<user_id>1</user_id>
<first_name>George</first_name>
<last_name>Washington</last_name>
</user>
<user>
<user_id>2</user_id>
<first_name>Abraham</first_name>
<last_name>Lincoln</last_name>
</user>
...
</users>
Destination File Format
user_id,first_name,last_name
1,George,Washington
2,Abraham,Lincoln
...
C#
using (CsvWriter writer = new CsvWriter("users.csv"))
using (XmlRecordReader reader = new XmlRecordReader("users.xml", "users/user"))
{
reader.Columns.Add("user_id", "id");
reader.Columns.Add("first_name", "first");
reader.Columns.Add("last_name", "last");
writer.Write("user_id");
writer.Write("first_name");
writer.Write("last_name");
writer.EndRecord();
while (reader.ReadRecord())
{
writer.Write(reader["id"]);
writer.Write(reader["first"]);
writer.Write(reader["last"]);
writer.EndRecord();
}
reader.Close();
writer.Close();
}
|