将XElement绑定到BindingSource c#

时间:2012-06-24 18:20:39

标签: winforms datagridview linq-to-xml bindingsource

我正在阅读一些xml,我想知道是否可以将XElement绑定到绑定Source 并将绑定源绑定到datagriview winforms。

我尝试了各种各样但没有成功。

此Xelement中的每个元素必须在datagridview

中创建数据行

任何片段或建议?

感谢

修改

我正在尝试构建一个绑定到datagridView的数据表 试过如下

class Program
{
    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.Descendants(ns + "MyObject").Elements())
        {
            var dc = new DataColumn {ColumnName = x.Name.ToString()};
            var row = dt.NewRow();
            //row[dc] = );
        }
        dgv.DataSource = dt;
    }
}

1 个答案:

答案 0 :(得分:0)

//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 temp = from obj in element.Elements() 
                       select new
                       {
                           Name = obj.Name.LocalName,
                           Value = obj.Value
                       };

            dataGridView1.DataSource = temp.ToList();