2016-04-07 6 views
-2

У меня есть xml-файл, подобный этому.Как я могу получить данные из xml-файла в datatable

<?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> 

Я хочу, чтобы поместить их в DataTable и показать в 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]; 
     } 
    } 
}