Russian Qt Forum

Программирование => Общий => Тема начата: Fregloin от Сентябрь 14, 2012, 17:08



Название: Как сделать универсальную объектную модель данных?
Отправлено: Fregloin от Сентябрь 14, 2012, 17:08
Работая с одном проекте с JSON и XML пришла в голову мысль, а есть ли универсальная объектная модель данных, которая представляется в виде DOM, но может работать, как с JSON так и с XML? А по возможности с произвольным форматом (например с поддержкой драйверов произвольных форматов). Есть ли такое уже готовое решение, или нужно делать велосипед?


Название: Re: Как сделать универсальную объектную модель данных?
Отправлено: xokc от Сентябрь 14, 2012, 17:42
Некоторые авторы вообще считают, что если прикладной программист "опустился" (в смысле уровня абстракции данных) непосредственно до XML (JSON, YAML и т.п.) - то он неправильно выбрал архитектуру. В том смысле, что сам по себе XML никому не нужен, он нужен только как, например, средство хранения настроек (тогда нужно использовать QSettings с соответствующей доработкой), обмена данными (тогда - SOAP), и т.д.
Так что задав такой вопрос - ты на правильном пути. Осталось конкретизировать, что для тебя включает понятие DOM. Под него и QAbstractItemModel подвести можно. А дальше - в какой формат сериализуешь, тем и пользуешься.
Ну а если говорить о готовых решениях, понимающих XML и JSON, то можно на вот это посмотреть (http://xqilla.sourceforge.net/HomePage):
XQilla version 2.1.1 released
This release adds support
for querying non-XML data sources, including HTML via
TidyLib, JSON and plain text files.