datagridview 与 XML数据绑定
方法一:
DataSet xmlDs = new DataSet();
xmlDs.ReadXml("C:\\Users\\YIFENG\\Desktop\\heng\\start.xml");
this.dataGridView1.DataSource = xmlDs.Tables[0];
这个方法简单,但是不能自定义列名,只能用xml节点名做为烈名。
方法二:
这个方法可以自定义列名,思路是先把XML文件变成表放到数据集中,在把datagridview绑定到数据集上。
DataTable dt = new DataTable("fcstXML"); //建立一张叫做fcstXML的表
//创建列
dt.Columns.Add(new DataColumn("编号", typeof(int)));
dt.Columns.Add(new DataColumn("名称", typeof(string)));
dt.Columns.Add(new DataColumn("应用程序", typeof(string)));
dt.Columns.Add(new DataColumn("开始bak", typeof(string)));
///导入xml文档
XElement doc = XElement.Load("C:\\Users\\YIFENG\\Desktop\\heng\\start.xml");
var node = from n in doc.Elements("Start") select n;
///遍历<centerInfo>的结点
foreach (var xnode in node)
{ ///创建一个新行
DataRow row = dt.NewRow();
///读取结点数据,并填充数据行
row["编号"] = xnode.Element("Number").Value;
row["名称"] = xnode.Element("Title").Value;
row["应用程序"] = xnode.Element("NetAdd").Value;
row["开始bak"] = xnode.Element("StartBak").Value;
dt.Rows.Add(row);
}
///创建DataSet对象ds
DataSet ds = new DataSet("dfdf");
ds.Tables.Add(dt);
dataGridView1.DataSource = ds.Tables[0];
获取某个元素时常用这个:
XElement xelement = XElement.Load("..\\..\\Employees.xml");
IEnumerable<XElement> employees = xelement.Elements();