0

私はいくつかのxmlを読んでいて、XElementをバインディングソースにバインドし、バインディングソースをdatagriviewwinformsにバインドできるかどうか疑問に思っていました。

私はあらゆる種類を試しましたが、成功しませんでした。

この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;
    }
}
4

1 に答える 1

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();
于 2012-06-24T20:53:16.977 に答える