Иерархия XML с Boost :: serialization

Недавно я начал использовать Boost :: serialization для исследовательской работы, и, хотя он чрезвычайно мощный и простой в использовании, у меня все еще есть небольшие проблемы с окончательным форматом xml. У меня есть иерархия классов, и при сериализации каждый подкласс вложен в свой собственный тег в выводе xml. Этот тег подкласса создается из-за использования boost::serialization::base_object. Кто-нибудь знает, как сохранить базовый и подклассы на одном уровне иерархии xml?

Пример: текущий формат

<baseClass> <attr>value</attr> <subClass> <otherAttr>value</otherAttr> </subClass> </baseClass>

целевой формат:

<baseClass> <attr>value</attr> <otherAttr>value</otherAttr> </baseClass>


person Shnippoo    schedule 27.06.2011    source источник
comment
Это нужно вам для этого (например, ожидает ли другая программа определенного вывода) или это просто для повышения читабельности? См. Комментарии к этому вопросу: stackoverflow.com/questions/3931535/ - В частности, предложение использовать Boost.Karma   -  person Merlyn Morgan-Graham    schedule 27.06.2011
comment
Хорошо, спасибо, ребята. Кстати, чтобы ответить на вопрос @Merlyn, да, это для удобства чтения :) в противном случае текстовый архив был бы идеальным.   -  person Shnippoo    schedule 27.06.2011


Ответы (1)


Boost.Serialization не предназначен для использования в качестве механизма записи в определенный формат файла. Это способ сбросить данные класса в файл, а затем снова прочитать эти данные с помощью этой программы. Формат - это не то, что вас должно волновать.

Если вы используете определенный формат файла, то, как предложил Мерлин, вам нужен Генератор Boost.Karma.

person Nicol Bolas    schedule 27.06.2011