Можно ли создать класс C++ из xsd с помощью Qt (без инструмента XSD)?

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

с .Net Framework я бы просто использовал инструмент XSD для создания соответствующего класса, избегая писать парсер самостоятельно. К сожалению, этот проект должен быть выполнен с использованием Qt и mingw, и я не уверен, есть ли подобный инструмент.

можно ли (auto)генерировать класс C++/qt из xsd?

Если это: как?

3 ответов


хороший вопрос! Вы не должны беспокоиться, если Qt имеет такую функцию. Вы можете использовать CodeSynthesisXSD, который является открытым исходным кодом. Вы можете объединить сгенерированные классы с вашим проектом Qt.


вы можете проверить CodeSynthesis XSD см.этой


Я думаю, что с модуль xmlpatterns в qt это должен быть очень простой и qt способ проанализировать xsd и сделать соответствующее представление qt C++.