将数据从xml文件检索到c#.net中的datagridview

时间:2013-04-18 06:21:35

标签: c# xml

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

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>

请帮助

2 个答案:

答案 0 :(得分:0)

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();

这是Demo的Xml文件

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

答案 1 :(得分:0)

我找到了解决方案。

我以下列方式包含了一个for循环,我可以获取所有数据。

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

这创建了获取所有必需值。