将xml文件中的数据导入到c#中的datagridview中.net

问题描述:

我正在将xml文件中的数据导入到我在c#中的datagridview中。问题是只有一行显示在数据网格视图中,即它被覆盖。 我的代码如下将xml文件中的数据导入到c#中的datagridview中.net

DataSet ds = new DataSet(); 
DataTable dt = new DataTable(); 

for (int i = 0; i <= 3; i++) 
{ 
    ds.ReadXml(@"C:\Users\dell\Downloads\ChillerReport.xml"); 
    dataGridView1.DataSource= ds.Tables[i].DefaultView; 
} 

我的XML代码如下

<?xml version="1.0"?> 
<?xml-stylesheet type="text/xsl" href="file:///C:\TechView\XSL\Techview AshraeReport.xsl"?> 
<TraneChillerServiceReport label="ASHRAE Chiller Report"> 
<date label="Date">Wednesday, April 17, 2013 4:15:48 PM IST</date> 
    <technician label="Technician">sss</technician> 
    <job_name label="Job Name">01 17 04 13</job_name> 
<chiller_name label="Chiller Name">trane</chiller_name> 
<reference_number label="Ref Number">01</reference_number> 
<location label="Location">ppmf</location> 
</chiller_setpoints> 
</TraneChillerServiceReport> 

请帮助

+0

我在你的xml中只看到一行 – 2013-04-18 06:27:30

+0

你可以显示'dataGridView1'吗? – lexeRoy 2013-04-18 06:28:14

+0

无法在此发布图片......没有足够的声望。 datagrid视图 – user2274463 2013-04-18 06:39:08

我找到了一个解决方案。

我以下面的方式包含for循环,我可以获取所有数据。

for (int i = 0; i <= 11; i++) 
{ 
    ds.ReadXml(@"C:\Users\dell\Downloads\ChillerReport.xml"); 
    dataGridView1.DataSource= ds.Tables[i].DefaultView; 
}  

这创建了获取所有需要的值。

enter image description here试试这个 在代码背后

  XmlReader xmlFile = XmlReader.Create("YourFullXmlFilePath",new XmlReaderSettings()); 
      DataSet dataSet = new DataSet(); 

      dataSet.ReadXml(xmlFile); 

      dataGridView1.DataSource = dataSet.Tables["empdetails"]; 
      dataGridView1.DataBind(); 

这里XM l文件演示

<?xml version="1.0" encoding="utf-8" ?> 
<employee> 
    <empdetails id="1" name="sam"/> 
    <empdetails id="2" name="robin"/> 
    <empdetails id="3" name="victor"/> 
</employee>