Несколько отредактированный контент из моего ввода (XML) и вывода (CSV):
Ввод (это экспортированные 9,8 МБ XML из LittleSecrets 1.9.4):
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>LittleSecretsExportVersion</key>
<string>1.9.4</string>
<key>Secrets</key>
<dict>
<key>Children</key>
<array>
<dict>
<key>Data</key>
<data>
cnRmZAAAAAADAAAAAgAAAAcAAABUWFQucnRmAQAAAC75
BAAAKwAAAAEAAADxBAAAe1xydGYxXGFuc2lcYW5zaWNw
ZzEyNTJcY29jb2FydGYxNjcxXGNvY29hc3VicnRmNjAw
CntcZm9udHRibFxmMFxmc3dpc3NcZmNoYXJzZXQwIEhl
-- ended here in this sample, this goes on
for many lines and all children are below----
Вывод (это все содержимое итогового CSV-файла:
key,string,key,dict
LittleSecretsExportVersion,1.9.4,Secrets,missing value
Я знаю, что есть и другие методы (например, с использованием XSLT), но большинство из них слишком далеко над моей головой, так как я не программист, просто (в основном) способный следовать инструкциям. В моем случае, я думаю, AppleScript (я пользователь Ma c), вероятно, самый простой метод для меня, мне просто нужна помощь, чтобы выяснить, почему скрипт, который я нашел, не ' t работает.
У меня есть приложение, из которого мне нужно экспортировать все данные в новое приложение, к сожалению, старое приложение может экспортировать только в формате XML, и все записи зашифрованы (это очень старый пароль Хранение приложения, которое должно быть перенесено в приложение с новым паролем. Существуют тысячи записей (потому что в нем хранится больше, чем просто пароли), что делает перенос вручную слишком обременительным.
Пока Новое приложение для паролей может принимать. xml файлы в качестве импорта, оно принимает только свои специально отформатированные XML, поэтому фактически не обрабатывает файл, экспортированный из старой программы (он говорит " сделано "но данные не импортируются). Он также МОЖЕТ принимать общие файлы c .csv, поэтому моя задача - преобразовать зашифрованный файл XML в файл CSV.
Поскольку данные являются конфиденциальными, я не могу использовать онлайн-конвертер. Я нашел AppleScript, который кто-то другой написал и разместил здесь по этой ссылке, но он не работает.
https://macscripter.net/viewtopic.php?id=37025
В частности, эта строка не нравится Automater:
write csvText to fRef as «class utf8»
Я не смог найти достаточно информация о том, как написать AppleScript, чтобы узнать, что не так с этой строкой ... Я мог бы догадаться, но, не зная AppleScript, я не думаю, что это хорошая идея.
Я нашел здесь другой скрипт, но он тоже не работает.
https://discussions.apple.com/thread/7178543?answerId=28761630022#28761630022
(здесь я также нашел ссылку выше). Эта ошибка просто возвращает ошибку «Ошибка: выполняется операция» и создает файл нулевого байта.
Я был бы глубоко признателен за любую помощь в отладке того, что их вызывает, или в предоставлении AppleScript, который я могу скопировать и вставить в Automator, который будет работать, или в предложении другого метода, который не -Программисты, как я.