首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

急怎样读取XML数据并绑定到DataGridView,该如何解决

2012-03-21 
急:怎样读取XML数据并绑定到DataGridView我有一段XML文件格式如下:XML codeTaskListTaskTaskName测

急:怎样读取XML数据并绑定到DataGridView
我有一段XML文件格式如下:

XML code
<TaskList>     <Task>           <TaskName>测试任务一</TaskName>           <TaskContent>测试任务内容一</TaskName>           <TaskBeginDate>2009-12-30 15:00</TaskBeginDate>           <TaskEndDate>2009-12-30 17:30</TaskEndDate>           <TaskStatus>False</TaskStatus>     </Task>     <Task>           <TaskName>测试任务二</TaskName>           <TaskContent>测试任务内容二</TaskName>           <TaskBeginDate>2009-12-30 15:00</TaskBeginDate>           <TaskEndDate>2009-12-30 17:30</TaskEndDate>           <TaskStatus>False</TaskStatus>     </Task></TaskList>

我想把这个XML文件读取出来绑定到DataGridView。

[解决办法]
读XML文件写入DataSet并绑定到DatagirdView
C# code
          priviate void BindData()         {   //绑定控件的数据            DataSet ds = XMLFillDataSet("FcstTypeDescription.xml");            dataGridView1.DataSource = ds;            dataGridView1.DataMember = ds.Tables[0].TableName;           }          /// <summary>        /// 读XML文件,并填入DataSet        /// </summary>        /// <param name="file"></param>        /// <returns></returns>        private DataSet XMLFillDataSet(string file)        {             //创建DataTable对象dt            DataTable dt = new DataTable("fcstXML");            //创建列            dt.Columns.Add(new DataColumn("num", typeof(int)));            dt.Columns.Add(new DataColumn("center", typeof(string)));            dt.Columns.Add(new DataColumn("bwtype", typeof(string)));            dt.Columns.Add(new DataColumn("fcstType", typeof(string)));            dt.Columns.Add(new DataColumn("chnname", typeof(string)));            dt.Columns.Add(new DataColumn("description", typeof(string)));            dt.Columns.Add(new DataColumn("color", typeof(string)));            XmlDocument xmldoc = new XmlDocument();            try            {   ///导入xml文档                xmldoc.Load("FcstTypeDescription.xml");                XmlNode node = xmldoc.SelectSingleNode("ctDataset");                if (node == null)                {                    return (DataSet)null;                }                ///读取<centerInfo>的结点                foreach (XmlNode xnode in xmldoc.SelectNodes("ctDataset/centerInfo"))                {   ///创建一个新行                    DataRow row = dt.NewRow();                    ///读取结点数据,并填充数据行                    foreach (XmlNode xcnode in xnode.ChildNodes)                    {                        row[xcnode.Name] = xcnode.InnerText;                    }                    ///添加该数据行                    dt.Rows.Add(row);                }            }            catch (Exception ex)            {                MessageBox.Show(ex.ToString());            }            ///创建DataSet对象ds            DataSet ds = new DataSet("XMLfcstData");            ds.Tables.Add(dt);            return (ds);        }
[解决办法]
Dataset ds=new DataSet();
ds.ReadXml("test.xml");
datagridview1.DataSource=ds;
如果要定义列名,参照楼上
[解决办法]
直接用DataSet实例的一个函数就可以了
ds.ReadXML(string path),path就是xml文件保存的路径了,这样就可以自动将xml中的数据读取到ds中。

热点排行