Чтение XML по Dataset - PullRequest
       31

Чтение XML по Dataset

0 голосов
/ 26 марта 2010

Я использую набор данных для чтения XML-файла, как показано ниже DataSet ds = new DataSet (); ds.ReadXml ( "C: \ test.xml");

test.xml содержит

<MasterEntities>
  <FieldInfo>
    <Name>OMID</Name>
    <Mandatory>Yes</Mandatory>
    <RangeName>AssumptOMID</RangeName>
    <DataType>int</DataType>
    <Length>10</Length>
  </FieldInfo>
  <FieldInfo>
    <Name>ClientName</Name>
    <Mandatory>Yes</Mandatory>
    <RangeName>AssumptClient</RangeName>
    <DataType>string</DataType>
    <Length>50</Length>
  </FieldInfo>
  <FieldInfo>
    <Name>OppName</Name>
    <Mandatory>Yes</Mandatory>
    <RangeName>AssumptProjectName</RangeName>
    <DataType>string</DataType>
    <Length>50</Length>
  </FieldInfo>

  <Settings>
    <somesetting1></somesetting1>
    <somesetting2></somesetting2>
  </Settings>
</MasterEntities>

теперь я хочу прочитать fieldInfo в одном наборе данных / datatable и настройках в другом наборе данных / datatable

Пожалуйста, помогите мне с кодом

Ответы [ 2 ]

0 голосов
/ 26 марта 2010

Вот игрушечное приложение, которое делает то же самое и показывает таблицы в наборе данных в дереве - и содержимое таблицы в сетке ... удобно для просмотра того, что находится в простом XML-файле ... http://www.dot -dash-dot.com / файлы / WTFXMLSetup_1_8_0.msi .

Исходный код для проекта VB.NET, если хотите ... http://www.dot -dash-dot.com / files / wtfxml.zip

0 голосов
/ 26 марта 2010

Используйте ReadXml, чтобы загрузить файл в один набор данных. Ваш отображаемый XML будет считан в 2 таблицы: одна называется FieldInfo, а другая - Settings.

string fileName = @"C:\Temp\sample.xml";
DataSet ds = new DataSet();
ds.ReadXml(fileName);

Чтобы переместить вторую таблицу в новый DataSet, вы можете сделать что-то вроде этого

DataSet ds2 = new DataSet();
ds2.Tables.Add(ds.Tables[1].Copy()); // copy to second dataset
ds.Tables.RemoveAt(1); // remove the original table
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...