Я думаю, это два вопроса. Таким образом, он получает два ответа.
1) Вам нужно будет разобрать имя узла, чтобы создать имена столбцов. В зависимости от того, насколько «глубоким» является ваш XML, может потребоваться несколько таблиц. Затем вы подключаетесь к своей базе данных и запускаете операторы sql через код (объекты SqlConnection
и SqlCommand
) для создания таблиц с соответствующими столбцами. (CREATE TABLE Blah COLUMNS Bleh
, например). Существует также API, специфичный для SQL (я думаю), имя которого я не могу вспомнить, что позволит вам сделать это немного более объектно-ориентированным способом. Суть одна и та же: упорядочить имена таблиц и столбцов, создать таблицы с соответствующими столбцами.
2) Тогда у вас есть пара вариантов - лучше всего будет выполнить маршализацию DataSets из XML (существует множество примеров), а затем использовать массовую вставку XML для загрузки всего набора и набора в SQL одновременно. .
Позвольте мне сказать, что это действительно ужасное решение. SSIS, вероятно, сможет сделать то же самое для более простого использования, если это вариант.