Реализация списка свойств (plist) в c ++ - PullRequest
4 голосов
/ 08 октября 2009

Мне поручено читать файлы списка свойств Apple в приложении c ++. Фокусируясь в основном на списочных файлах типа xml, указанных в OS X, которые имитируют реализацию типа xml. Реализация Apple списка их свойств описана здесь:

http://developer.apple.com/mac/library/documentation/Darwin/Reference/ManPages/man5/plist.5.html

Мне интересно, есть ли доступные классы или библиотеки, которые уже могут читать этот тип реализации в рамках стандартного c ++ (не Objective-C); в надежде найти что-то, а не кататься на своих. Существуют ли какие-либо реализации с открытым исходным кодом этого доступны?

Ответы [ 2 ]

1 голос
/ 08 октября 2009

Файлы PList не только имитируют XML, они представляют собой XML, включая допустимые заголовки XML.

Любой читатель XML должен иметь возможность анализировать эти файлы в результате. Если вы ищете логический класс, который абстрагирует файлы, я не знаю ни одного из существующих. Учитывая документацию Apple, вы сможете написать ее самостоятельно с помощью программы чтения XML, хотя для полной совместимости потребуется определенная работа.

0 голосов
/ 08 октября 2009

Это цель?

Для Windows существует грубое решение, которое состоит в использовании функций динамических библиотек iTunes для анализа plist-файлов (работа в двоичном или простом текстовом формате).

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

Репозиторий находится на этой странице проекта: http://code.google.com/p/t-pot/

Найдите файл iPoTApi.h и iPoTApi.cpp, функцию TranslatePLIST класса CiPoTApi.

Хотелось бы, чтобы было лучшее решение, в то время, когда я пытался скомпилировать его из источников Apple, нацеленных на Windows, но это настоящий кошмар, а файлы отсутствуют. Таким образом, использование их библиотек было значительным сокращением.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...