XML-файл или база данных в данном конкретном случае (файл часто обновляется) - PullRequest
2 голосов
/ 14 декабря 2010

У меня есть список URL, и я должен перебирать их каждую минуту или около того и сохранять время последнего успешного доступа в файл XML или базу данных.Очевидно, что URL-адрес и некоторое краткое описание также будут сохранены в файле.

Мне интересно, достаточно ли надежны XML-файлы или мне лучше работать с базой данных?Если я должен пойти с опцией базы данных, какой?

Пожалуйста, сообщите.Спасибо.

Ответы [ 3 ]

2 голосов
/ 14 декабря 2010

Вы можете использовать файл XML для этой цели.

Существует множество вариантов XML, таких как привязка данных XML, TXMLDocument, XML с наборами данных клиента и т. Д.

Самый простой вариант: XML with ClientDataSet.

Это процедура:

  • Оставьте ClientDataSet на форме.
  • Добавьте FieldDefs вам нужно ClientDataSet.
  • Щелкните правой кнопкой мыши компонент ClientDataSet и выберите Create Dataset.
  • Снова щелкните правой кнопкой мыши и выберите Save To MyBase XML Table.
  • Ваш XML готов, и теперь вы можете использовать функции ClientDataSet1.LoadFromFile() и ClientDataSet1.SaveToFile() для загрузки и сохранения данных.
  • Затем вы можете назначить ClientDataSet DataSource для DBGrid.
1 голос
/ 14 декабря 2010

Я бы не использовал XML. Чтобы изменить XML-файл, вы должны переписать его, XML не подходит для случайного чтения и записи, если вы не можете изменить его только в памяти, а затем записать его при необходимости. Ну, каждая минута не проблема, если XML не становится очень большим. XML-файл надежен настолько, насколько ваше приложение пишет его. Если вам нужно больше, вы должны рассмотреть базу данных. Для локального доступа можно выбрать что-то похожее на SQLite или Firebird.

1 голос
/ 14 декабря 2010

Я бы также использовал хранилище файлов XML (или JSON). Простым способом создания классов-оболочек для файла XML является мастер создания привязки схемы XML в Delphi Professional или мастер привязки данных (в Enterprise / Architect). Вам нужно только предоставить пример XML или W3C XSD файл. Мастер создаст классы на основе DOM и код привязки.

Учебники:

...