Лучший способ хранить URL-адреса локально - PullRequest
2 голосов
/ 02 октября 2008

Я создаю программу чтения RSS как хобби-проект, и в тот момент, когда пользователь добавляет свои собственные URL-адреса.

Я думал о двух вещах.

  • Текстовый файл, где каждый URL-адрес представляет собой одну строку
  • SQLite, где я могу иметь уникальные идентификаторы и описания после URL

Является ли идея SQLite чрезмерной нагрузкой или есть лучший способ сделать такие вещи?

Ответы [ 5 ]

2 голосов
/ 02 октября 2008

Как насчет файла OPML ? Это XML, поэтому, если вам нужно было хранить больше данных, чем в спецификации OPML, вы всегда можете добавить собственное пространство имен.

Кроме того, импорт и экспорт из других программ чтения RSS-каналов выполняется через OPML. Часто есть поддержка библиотеки для этого. Если вы заинтересованы в том, чтобы пользователи переключались, вам необходимо поддерживать OPML. Спасибо Jamesh за то, что поднял этот вопрос.

2 голосов
/ 02 октября 2008

Почему не XML?

Если вы все равно имеете дело с RSS, вы можете:)

1 голос
/ 02 октября 2008

Планируете ли вы просто хранить URL-адреса? Или вы планируете добавить данные типа last_fetch_time или около того?

Если это простой список URL, ваша программа будет читать построчно и загружать данные, сохранять их в файле или, что еще лучше, в каком-либо сериализованном объекте, записанном в файл.

Если вы планируете расширить его, добавить комментарии / время последней выборки, и т. Д. , я бы пошел на SQLite, это не так уж и много.

0 голосов
/ 02 октября 2008

Я бы пошел с опцией текстового файла XML. Вы можете использовать инструмент XSD, встроенный в Visual Studio, для создания DataTable из данных XML, и при необходимости он легко сериализуется обратно в файл.

Другое предостережение заключается в том, что я уверен, что вы захотите, чтобы конечный пользователь мог классифицировать свои RSS-каналы и иметь возможность потенциально искать / сортировать их, а наличие такого стиля данных поможет в этом .

Вы получите простое хранение и доступ к файлам, преимущество структуры «база данных», но не совсем накладные расходы на SQLite.

0 голосов
/ 02 октября 2008

Если это однопользовательское приложение, имеющее только один экземпляр, SQLite может быть излишним.

У вас есть несколько вариантов, как я вижу:

  1. SQLite / Уровень базы данных. Увеличивает зависимости, необходимые для запуска вашего кода. Но разрешает одновременный доступ
  2. Сверните свой собственный анализатор текста. Сложность возрастает, если вы хотите сохранить больше данных и заново изобретаете колесо. Меньшая зависимость и изначально, хотя ваши данные просты, для начинающего пользователя вашего приложения это тривиально.
  3. Использовать XML. Это хорошо сформировано и определено и текстовое редактирование. Хотя может быть излишним для хранения только URL-адреса.
  4. Используйте что-то вроде pickle , чтобы сериализовать ваши объекты и сохранить их на диск. Изменения в вашей структуре данных означают «обновление» файлов рассылки. Не очень интуитивно понятен для редактирования для начинающего пользователя, но чрезвычайно прост в реализации.
...