XML-иерархия с Boost :: сериализация - PullRequest
1 голос
/ 27 июня 2011

Я недавно начал использовать 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>

1 Ответ

2 голосов
/ 27 июня 2011

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

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

...