Как получить данные из файла .rtf или файла Excel в базу данных (sqlite) в iphone SDK? - PullRequest
0 голосов
/ 17 апреля 2011

У меня было много данных в файле .rtf (с именами пользователей и паролями). Как я могу извлечь эти данные в таблицу.Я использую sqlite3.Я создал «userDatabase.sql», в котором я создал таблицу «usersList» с полями «username», «password».Я хочу получить список данных из файла «list.rtf» в моей таблице «usersList».Пожалуйста, помогите мне.

Спасибо заранее.Praveena.

Ответы [ 2 ]

0 голосов
/ 17 апреля 2011

Анализ RTF-файлов в основном тривиален.Они на самом деле текстовые, а не двоичные (как документ PDF и т. Д.).В последний раз, когда я его использовал, я помню, что формат файла тоже не был слишком сложным.

Пример:

{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset0 Calibri;}}
{\*\generator Msftedit 5.41.21.2510;}\viewkind4\uc1\pard\sa200\sl276\slmult1\lang9\f0\fs22 Username Password\par
Username2 Password2\par
UsernameN PasswordN\par
}

Выполните совпадение с регулярным выражением, чтобы получить последнюю часть { ... }.По совпадению { не \{.Затем, проанализируйте текст, как вы хотите, но имейте в виду, что:

  • все, что начинается с \, экранировано, я бы написал небольшую функцию для удаления текста
  • специальный идентификатор \ par для новой строки
  • существуют другие специальные идентификаторы, такие как \b, который включает жирный текст
  • идентификатор изменения цвета, \cfN изменяет цвет текста в соответствии св таблицу цветов, определенную в заголовке файла.Вы можете игнорировать этот идентификатор, поскольку речь идет о простом тексте.
0 голосов
/ 17 апреля 2011

Я бы написал маленький парсер.Повторно сохраните .rtf в виде txt-файла и предположите, что он выглядит следующим образом:

user1:pass1
user2:pass2
user5:pass5

Теперь сделайте это (в своем коде):

  • откройте файл .txt(NSString -stringWithContentsOfFile:usedEncoding:error:)
  • читать построчно
  • для каждой строки, извлекать пользователя и пароль (NSArray -componentsSeparatedByString)
  • сохранять пользователя / пароль в вашей БД

Best, Christian

Редактировать: для разбора Excel-листов я рекомендую экспортировать как файл CSV, а затем сделать то же самое

...