2015-08-27 2 views
0

У меня есть XML-файл, который я могу легко загрузить в набор данных.C# как создать типизированный набор данных из набора данных или XML-файла?

DataSet ds = new DataSet(); 
    ds.ReadXml(e.FullPath); 

Однако я действительно хотел иметь типизированный набор данных.
Есть ли способ построить типизированный набор данных из XML или нетипизированного набора данных?

Цель состоит в том, чтобы избежать его дизайна, потому что есть много столбцов, и он удаляет изменение ошибки при вводе текста.

+1

Вы можете создавать типизированные наборы данных с [xsd.exe] (https://msdn.microsoft.com/en-us/library/x6c1kb0s (v = vs.110) .aspx) – Crowcoder

+1

При сохранении схемы использования файла: ds.WriteXml ("filename", XmlWriteMode.WriteSchema); – jdweng

ответ

1

Это действительно легко сделать. Вот шаг за шагом.
(Необходимо, конечно, иметь визуальную студию)

1. Из файла XML создайте файл XSD.

Это может быть достигнуто путем загрузки XML-файла в набор данных и последующего написания схемы.

 DataSet ds = new DataSet(); 
     ds.ReadXml(e.FullPath); 
     ds.WriteXml(@"C:\test.xsd", XmlWriteMode.WriteSchema); 

Проверьте файл XSD, это хорошо и не содержит мусор.

2. Найдите, где находится "xsd.exe" на вашем компьютере.
В моем случае, это было здесь:
C: \ Program Files (x86) \ Microsoft SDKs \ Windows \ v8.0A \ Bin \ NETFX 4.0 Инструменты

3. Скопируйте/вставьте файл XSD в найденную папку на шаге 2.

4. Запустите командную строку и смените каталог, чтобы найти папку на шаге 2.

Откройте командную строку (Windows + R, введите «cmd» и нажмите enter). Затем измените к корпусу каталога исполняемому файлу («CD-введите ваш-каталог здесь»)

cd C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0A\bin\NETFX 4.0 Tools 

Быстрых советы, вы можете копировать/вставить каталог в строку с помощью правой кнопки мыши в.

5. В командной строке запустите xsd.exe с нужным аргументом.
Введите или введите следующую команду в командной строке и нажмите клавишу ввода.

xsd.exe /d /l:cs test.xsd /eld /n:MyDesiredNameSpace 

Вы можете найти детали о том, чтобы перейти к аргументу в msdn documentation.

Учитывая файл XSD был действительным, он будет выводить файл CS в папку. Вот что такое консольный вывод.

Command output

6. Включите сгенерированный файл в ваш проект.
Скопируйте и вставьте сгенерированный файл .cs в папку с вашим решением и включите его в свой проект. Используя (щелчок правой кнопкой мыши включить существующий элемент)
Include file into project

7. Переименуйте типизированного набора данных с соответствующим именем.
Новый генерируемый набор данных - это тип «NewDataset».
Переименуйте его для более достойного имени. (Использование функция рефакторинга) Rename typed dataset

Смежные вопросы