2009-04-16 2 views
2

Кто-нибудь знает, если/как я могу преобразовать двоичный отформатированный файл в формате Mac OS X в обычную строку XML на C#?Преобразовать двоичный отформатированный формат в Mac OS X в формат C#

Я знаю, что есть некоторые редакторы plist для Windows, в которых говорится, что они поддерживают файлы с двоичным форматированием plist, но мне нужно сделать это inline в моем собственном приложении.

ответ

10

Я понимаю, что это супер стар, но я отправляю мое решение для потомство.

Я не мог найти ничего полезного для запуска внешнего процесса, когда несколько недель назад я начал сериализацию двоичных сеток, поэтому мне пришлось сворачивать самостоятельно.

Для других, кто ищет сериализацию бинарных сечений C# /. NET, вы можете найти мою реализацию на https://github.com/ChadBurggraf/plists-cs.

Надеюсь, это поможет некоторым людям выйти.

+0

Sweet! Хотя это уже довольно давно, так как я работал над этим, я взгляну на это, вместо того, чтобы запускать внешний процесс, как я сейчас делаю –

+0

Спасибо, это работает для меня - отличная работа! – Alex

+0

Хорошо работает для меня. Хорошая работа. –

1

быстро Google показывает plutil.pl, но это будет работать, только если установлен Perl (который я абсолютно уверен, не по умолчанию в окнах)

+0

Я тоже нашел это, но я не хочу добавлять perl в качестве еще одного требования к моему приложению. Лучше всего было бы использовать кодировки в рамках, но я начинаю сомневаться, что они могут преобразовать этот формат. –

+0

Я нашел исполняемую версию этой утилиты. В моем коде я пишу двоичный plist в файл, используйте plutil.exe, чтобы преобразовать его в простой XML, а затем прочитать в файле результатов. –

+0

@ Geir-ToreLindsve - Не могли бы вы отправить ответ и ссылку на то, где/как вы нашли 'plutil.exe' - Пожалуйста, поделитесь. –

0

Если вы хотите, чтобы сделать преобразование в коде на OS X сторона, this предыдущий SO вопрос есть ваш ответ. Кроме того, вы можете использовать служебную программу командной строки plutil в OS X для преобразования между бинарными и XML-списками свойств.

+0

Спасибо, но мне нужно иметь возможность читать бинарный форматированный plist во время выполнения в моем приложении .NET. Причина в том, что CoreData хранит метаданные в этом формате, и у меня есть кросс-платформенное приложение, которое должно читать тот же файл данных, что и версия для Mac. Возможно, нам придется снять его, дублируя метаданные в отдельной таблице, хотя мне еще предстоит найти надежный способ сделать это. –

1

Я не пробовал любой из следующих решений, и я знаю, что вы искали C#, но ...

Эта страница двоичный PLIST анализатор реализован в Java:
http://www.java2s.com/Open-Source/Java/Swing/JIDE-Common/com/jidesoft/plaf/aqua/BinaryPListParser.java.htm

Проект Java Quaqua (https://quaqua.dev.java.net/) использует двоичный анализатор java plist. Вы можете увидеть Java документ здесь http://www.randelshofer.ch/quaqua/javadoc/ch/randelshofer/quaqua/util/BinaryPListParser.html

+0

Спасибо за ссылку. Возможно, его можно портировать на C# –

Смежные вопросы