«Отражение» на документе XML с помощью схемы XML в C # - PullRequest
0 голосов
/ 19 марта 2011

У меня есть System.XML.Schema.XmlSchema, загруженный в память, и данные экземпляра XML типов элементов, определенных в XmlSchema.

У меня есть аннотации appInfo, определенные в схеме, каждый из которых имеет тип MyFieldAppInfo иМне нужно обработать элементы XML и отразить определение типа схемы и загрузить аннотацию appInfo для этого элемента.

Элемент данных XML может быть загружен как XmlDocument, XmlElement, XDocument, XElement иликакой бы встроенный тип не подходил для этого анализа.

Схемы не известны во время разработки.Но во время выполнения данные XML будут единым элементом зарегистрированного типа схемы.Посещать узлы в XML легко, но переход к соответствующему элементу в определении схемы для получения аннотации appInfo - это то, к чему я не вижу пути.

Есть идеи, как этого достичь?

Спасибо!

Ответы [ 2 ]

0 голосов
/ 23 марта 2011

Я спросил это по-другому и получил ответ благодаря Ксану.

Найти аннотацию для элемента xml в связанном с ним типе, определенном схемой

0 голосов
/ 19 марта 2011

Если я правильно понимаю, вы пытаетесь создать и загрузить произвольные объекты из xml с учетом описания схемы?

Вам понадобится рекурсивная функция для посещения всех узлов входного XML-документа.

Поскольку узлы xml содержат текст, вам необходимо определить ожидаемый тип данных из схемы, выполнить преобразование, и, если это удастся, предположить, что это правильно.

Это не кажется хитрым, я что-то упустил?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...