Это действительно легко сделать. Вот шаг за шагом.
(Необходимо, конечно, иметь визуальную студию)
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 в папку. Вот что такое консольный вывод.
6. Включите сгенерированный файл в ваш проект.
Скопируйте и вставьте сгенерированный файл .cs в папку с вашим решением и включите его в свой проект. Используя (щелчок правой кнопкой мыши включить существующий элемент)
7. Переименуйте типизированного набора данных с соответствующим именем.
Новый генерируемый набор данных - это тип «NewDataset».
Переименуйте его для более достойного имени. (Использование функция рефакторинга)
Вы можете создавать типизированные наборы данных с [xsd.exe] (https://msdn.microsoft.com/en-us/library/x6c1kb0s (v = vs.110) .aspx) – Crowcoder
При сохранении схемы использования файла: ds.WriteXml ("filename", XmlWriteMode.WriteSchema); – jdweng