2016-04-07 61 views
-2

我有一个这样的xml文件。如何从xml文件中获取数据到数据表

<?xml version="1.0"?> 
<Topic TopicName="FxhysS2vY64="> 
    <Question> 
    <QuestionID>HtjBCldKZg4=</QuestionID> 
    <Details>Cg+MCbd9nTpJokauVrxHsyTqcvKCS8ePzHQCpUTVviWxAXriQVLy5w==</Details> 
    <Description>x358GtJIXJI=</Description> 
    <TrueOrFalse>D2zx2u5cwbo=</TrueOrFalse> 
    <Points>W4VYuxBJeaY=</Points> 
    <QuestionType>Fr1jj5tmWhMKNIKrHy18Rg==</QuestionType> 
    <Caption>Cg+MCbd9nTpJokauVrxHsyTqcvKCS8ePAsNmzBfGJhg=</Caption> 
    <TopicID>HtjBCldKZg4=</TopicID> 
    </Question> 
    <Question> 
    <QuestionID>HtjBCldKZg4=</QuestionID> 
    <Details>ccX0bHUdtg4ayF/7PfpFHUx9kPAGUBC5xOh1mw1b7d1g0lHifJ6AD49Niw1ipCPp</Details> 
    <Description>x358GtJIXJI=</Description> 
    <TrueOrFalse>JYEB3R1+ypE=</TrueOrFalse> 
    <Points>W4VYuxBJeaY=</Points> 
    <QuestionType>Fr1jj5tmWhMKNIKrHy18Rg==</QuestionType> 
    <Caption>ccX0bHUdtg4ayF/7PfpFHUx9kPAGUBC5xOh1mw1b7d1g0lHifJ6AD49Niw1ipCPp</Caption> 
    <TopicID>HtjBCldKZg4=</TopicID> 
    </Question> 
</Topic> 

我想将它们放到数据表并显示gridcontrol在DevExpress的 我gridcontrol enter image description here

所以,我怎么能做到这一点。非常感谢

+1

请参考任何在线教程进行基本编码,然后提出具体问题。 – Sampada

+0

是的,那是另一个“我懒得学我应该做什么,或者阅读文档,请教我编程”的问题。 – TomTom

回答

0

试试这个,我认为它会帮助你

public DataTable ReadXML(string file) 
{ 
    DataTable table = new DataTable("XmlData"); 
    Stream stream = new FileStream(file, FileMode.Open, FileAccess.Read); 
    table.Columns.Add("Name", typeof(string)); 
    table.Columns.Add("Power", typeof(int)); 
    table.Columns.Add("Location", typeof(string)); 
    table.ReadXml(stream); 
    return table; 
} 

以下是完整的参考:

How to read XML into a DataTable?

0

这是一个非常简单的方法,用很少的工作。您正在阅读文件,因此不需要使用流。

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
using System.Windows.Forms; 

namespace WindowsFormsApplication1 
{ 
    public partial class Form1 : Form 
    { 
     const string FILENAME = @"c:\temp\test.xml"; 
     public Form1() 
     { 
      InitializeComponent(); 
      DataSet ds = new DataSet(); 
      ds.ReadXml(FILENAME); 

      dataGridView1.DataSource = ds.Tables[1]; 
     } 
    } 
}