У меня есть куча XSD от https://github.com/XeroAPI/XeroAPI-Schemas/tree/master/v2.00
Мне нужно сделать две вещи:
- Создайте таблицы для каждого типа, мой первый - для Контакта в Contact.xsd.
- Когда таблица заполнена, мне нужно вернуть XML из таблицы, чтобы его можно было отправить как запрос REST.
Я не могу пройти мимо пункта 1: (
Я отметил все эти XSD как встроенные ресурсы в моем проекте .net C #
Затем я использую отражение для загрузки XSD с использованием DataSet.ReadXmlSchema (ContactXsdStream), но этот XSD ссылается на типы, указанные в BaseTypes.xsd, и выдает ошибку «Неопределенный complexType« DataContractBase »используется в качестве базы для сложного типа расширение».
var assembly = Assembly.GetExecutingAssembly();
var dataset = new DataSet();
var manifestResourceStream = assembly.GetManifestResourceStream(schemaName);
if (manifestResourceStream == null)
throw new FileNotFoundException(string.Format("Unable to find schema resource {0}", schemaName));
using (var textStreamReader = new StreamReader(manifestResourceStream))
{
dataset.ReadXmlSchema(textStreamReader);
textStreamReader.Close();
}
return dataset;
Вся помощь приветствуется
Дополнительные замечания
Я понимаю, что нет сложного типа контакта, который напрямую не отображается в виде одной таблицы, однако мне может понадобиться встроить сложные типы, такие как Address, в строку XML в таблицу данных.
Причина, по которой мне нужны простые типы, заключается в том, что DataTables передаются в API синхронизации данных (Simego DataSync Studio). Этот инструмент синхронизации позволяет мне выполнять двустороннюю синхронизацию с CRM, SharePoint, Excel и другими источниками данных. Я буду использовать другие структуры синхронизации, если это будет уместно, и любые другие рекомендации приветствуются.
С уважением
Si