将xml加载到datagridview [英] Load xml into datagridview

查看:76
本文介绍了将xml加载到datagridview的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述



我有下面的XML.但是当我尝试加载到datagridview时,它不起作用.

Hi,

I have below xml. But when I try to load into datagridview, it doesn''t work.

<Records>
 <Record>
 <Product>
  <Column name="Serial">N110879987</Column>
  <Column name="Product">QWX4T6YU</Column>
  <Column name="Date">2012-08-10</Column>
 </Product>
 <Operations>
 <Operation type="SETUP">
  <Column name="TimeStamp">2012-08-10</Column>
  <Column name="Status">Success</Column>
 </Operation>
 <Operation type="RUN">
  <Column name="TimeStamp">2012-08-11</Column>
  <Column name="Status">Done</Column>
 </Operation>
 </Operations>
</Record>
 <Record>
 <Product>
  <Column name="Serial">N110879988</Column>
  <Column name="Product">QWX4T6YU</Column>
  <Column name="Date">2012-08-12</Column>
 </Product>
 <Operations>
 <Operation type="SETUP">
  <Column name="TimeStamp">2012-08-12</Column>
  <Column name="Status">Success</Column>
 </Operation>
 <Operation type="RUN">
  <Column name="TimeStamp">2012-08-12</Column>
  <Column name="Status">Done</Column>
 </Operation>
 </Operations>
</Record>
</Records>



下面是我的代码,它不起作用..



Below is my code, it doesn''t work..

Dim dt As New DataTable
Dim newRow As DataRow
Dim ds As New DataSet()
Dim doc As New Xml.XmlDocument
doc.Load("C:\Temp\N11.xml")

        Dim dt As New DataTable
        Dim newRow As DataRow
        dt.Columns.Add("Serial")
        dt.Columns.Add("Product")
        dt.Columns.Add("Date")

        dt.Columns.Add("Operation")
        dt.Columns.Add("TimeStamp")
        dt.Columns.Add("Status")


For Each n As XmlNode In doc.SelectNodes("Records/Record/Product/Column")
            newRow = dt.NewRow

            newRow(n.Attributes("name").Value) = n.InnerText



            For Each n1 As XmlNode In doc.SelectNodes("Records/Record/Operations/Operation")
                newRow = dt.NewRow
                newRow("Operation") = n1.Attributes("type").Value

                For Each n2 As XmlNode In doc.SelectNodes("Records/Record/Operations/Operation[@type='" & n1.Attributes("type").Value & "']/Column")

                    newRow(n2.Attributes("name").Value) = n2.InnerText

                Next
                dt.Rows.Add(newRow)
            Next
        Next

  DataGridView1.DataSource = dt



以下是我的空闲输出,任何人都可以帮忙吗?



Below is my idle output, can anyone help?

Serial      Product   Date      Operation  TimeStamp  Status
N110879987  QWX4T6YU  8/10/2012	SETUP      8/10/2012  Success<code></code>
			        RUN	   8/11/2012  Done
N110879988  QWX4T6YU  8/12/2012	SETUP      8/12/2012  Success
			        RUN	   8/12/2012  Done

推荐答案

像这样



do it like this



Dim ds As New DataSet
ds.ReadXml("path of excel file")
DataGridView1.Columns.Clear()
DataGridView1.DataSource = ds.Tables(0)


尝试以下代码
try below code
string myXMLfile = @"C:\Temp\N11.xml";
    DataSet ds = new DataSet();
    // Create new FileStream with which to read the schema.
    System.IO.FileStream fsReadXml = new System.IO.FileStream 
        (myXMLfile, System.IO.FileMode.Open);
    try
    {
        ds.ReadXml(fsReadXml);
        dataGrid1.DataSource = ds.Tables[0];
        //dataGrid1.DataMember = "Cust";
        dataGrid1.DataBind();
    }
    catch (Exception ex)
    {

    }
    finally
    {
    fsReadXml.Close();
    }


请转换为vb.net


please convert in to vb.net


这篇关于将xml加载到datagridview的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆