Cannot seem to loop through the XElement and build a datatable.
My XElement will be built at runtime so I dont know what the look like in advance
I am trying to convert whatever is in a XElement to a datatable so that I can bind it to a datagriview.
Any ideas what I am doing wrong?
static void Main()
{
//at runtime could be any object
const string testXElement = @"<MyObject xmlns=""http://www.test.com/"">
<code>Test</code>
<Date>2012-06-24T00:00:00+01:00</Date>
<Name>John</Name>
</MyObject>";
XElement element = XElement.Parse(testXElement);
var dgv=new DataGridView();
//Build dataTable from it or
var dt=new DataTable();
XNamespace ns = "http://www.test.com/";
foreach (var x in element.Elements(ns + "MyObject"))
{
//I am never stepping into this one.
DataColumn dc=new DataColumn();
dc.ColumnName = x.Name.ToString();
DataRow row = dt.NewRow();
row[dc] = x.Value;
}
dgv.DataSource = dt;
}
Try this instead: