Возможный дубликат:
Вот сценарий: я создал приложение, которое подключается к коммерческому продукту CRM с использованием их API веб-службы, который, к сожалению, имеет различную схему для каждой установки в зависимости от того, как пользователи создают свои настраиваемые поля. Эта схема также может быть изменена в любое время. Это приложение будет установлено по месту нахождения клиента, и оно должно функционировать, даже если они изменят структуру своего поля.
Чтобы вставить или обновить запись, я сначала вызываю их метод Project.GetSchema (), который возвращает файл XSD на основе текущего набора полей, а затем я могу вызвать метод Project.AddProject (), передав в файле XML, содержащем данные проекта.
Мой вопрос : Каков наилучший способ создания XML из файла XSD во время выполнения? Мне нужно иметь возможность проверять наличие полей и заполнять их только в том случае, если они существуют (например, если клиент удалил или переименовал некоторые поля).
Я действительно не хочу, чтобы приложение пыталось перекомпилировать классы на лету, используя xsd.exe. Просто должен быть лучший способ.
[обновление] Мое текущее решение, над которым я работаю, - это в основном сам разобрать файл XSD, поскольку большая часть схемы будет одинаковой для каждой установки. Это просто уродливое решение, и я надеялся, что есть лучший способ. Самая большая проблема, которую я имею, состоит в том, что их схема использует xsd: sequence, поэтому размещение вещей в другом порядке всегда нарушает проверку.