2010-08-04 5 views
0

У меня есть требование генерации XML, проверки на соответствие XSD и (если оно действительно), отправьте XML третьей стороне.Сортировка XML-файла на основе формата XSD в .Net

Моя проблема заключается в том, что генерация узлов XML-файла в правильном порядке (по определению XSD) очень сложно с моим текущим сценарием. Написание кода для ручного добавления узлов в правильном порядке означало бы много кода, а также необходимость обновления, если XSD изменится (что он делает сейчас и затем)

XSD довольно сложный, со многими элементами refs и группы внутри последовательностей и complexTypes.

К сожалению, я не могу прикрепить пример, поскольку XSD (и XML) рассматривается как «секреты компании».

Что я хотел бы знать, есть ли способ сортировки узлов в XML в соответствии с определениями в XSD?

Кто-нибудь слышал или видел такую ​​функцию в мире .Net или иначе? У кого-нибудь есть идеи, с чего начать распутывать эту проблему?

ответ

0

Не зная больше, это немного сложно сказать, но вот как я обращался к аналогичным проблемам в прошлом.

Запустите XSD.EXE с консоли, укажите его на свой XSD и используйте переключатель классов (вам нужно посмотреть документацию, но это не так сложно). Это создаст класс XmlSerializable, который соответствует вашему XSD.

Затем вы напишете что-то для преобразования из текущего класса в класс XSD, а затем выполните сериализацию в формате XML.

+0

Это увлекательный подход, и я бы хотел, чтобы я знал об этом, когда начал этот проект :) Проблема в том, что в настоящее время у меня есть весь код для создания xml как XDocument. Мне теперь «нужно» только отсортировать этот XML, чтобы он соответствовал определениям XSD – peter3

Смежные вопросы