2010-01-27 4 views
0

У меня есть следующий кодСоздать набор данных из XMLFILE

  string myXMLfile = @"path to file"; 
      DataSet ds = new DataSet("myDataset"); 
      DataTable dataTable = new DataTable("ExtID"); 
      dataTable.Columns.Add("Ext", typeof(string)); 
      dataTable.Columns.Add("TargetPath", typeof(string)); 
      ds.Tables.Add(dataTable); 
      ds.ReadXml(myXMLfile); 

Набор данных содержит столбцы и количество строк правильно, но все они пусты. Что я делаю неправильно

ответ

1

Имеет ли XML значения для одной таблицы? Или для полного набора данных (несколько таблиц, с отношениями между ними)?

Если это одна таблица данных: попробуйте загрузку XML на таблицы данных вместо:

dataTable.ReadXml(myXMLfile); 

Marc

1

Вам не нужно создать DataTable, если файл уже есть нужные столбцы , Вобще:

DataSet ds = new DataSet(); 
ds.ReadXml("FilePath"); 

После того, как он будет загружен вы можете получить доступ к таблице данных на ds.Tables[0];

1

Вот еще одно решение, которое считывает данные из строки XML и реконструирует DataSet в VB.net

Public Function StringXMLToDataSet(ByVal XMLString As String) As DataSet 
    Dim StringReader As New StringReader(XMLString) 
    Dim dset As New DataSet() 
    dset.ReadXml(StringReader) 
    Return dset 
End Function 
Смежные вопросы