如何在datagridview中放入多个xml数据

时间:2016-04-22 01:27:08

标签: c# .net xml datagridview

假设我有多个像这样的xml数据:

<entry>
<url><![CDATA[http://triada.kh.ua/made/?email=abuse@example.com]]></url>
<phish_id>3779980</phish_id>
<phish_detail_url>http://www.phishtank.com/phish_detail.php?phish_id=3779980</phish_detail_url>
<details>
<detail>
  <ip_address>93.190.41.34</ip_address>
  <cidr_block>93.190.40.0/21</cidr_block>
  <announcing_network>6849</announcing_network>
  <rir>ripencc</rir>
  <detail_time>2016-01-24T01:00:58+00:00</detail_time>
</detail>
</details>
<submission>
<submission_time>2016-01-22T22:42:56+00:00</submission_time>
</submission>
<verification>
<verified>yes</verified>
<verification_time>2016-03-28T14:15:01+00:00</verification_time>
</verification>
<status>
<online>yes</online>
</status>
<target>Internal Revenue Service</target>
</entry>

假设我有多种这种xml数据如何在不覆盖它们的情况下显示datagridview中的值?我尝试了以下代码:

foreach (XElement result in query)

        {

            string display = result.ToString();

            XmlReader xmlFile;
            xmlFile = XmlReader.Create(new StringReader( display));
            DataSet ds = new DataSet();

            ds.ReadXml(xmlFile);

                dataGridView1.DataSource = ds.Tables[0];


        }

但我的表被覆盖了,它只显示最后一个XmlData.Please Help.Thanks提前

1 个答案:

答案 0 :(得分:0)

数据网格不能有多个数据源。如果您有多个数据片段,则需要将它们合并在一起,然后将其绑定到网格。在您的示例中,您可以使用Dataset.Merge方法。

但是......我不确定您是如何获取数据的,但似乎您不需要读取每个XML元素并从中创建数据集。您应该立即读取所有元素,然后将其绑定到网格。