Мое мнение - то, что необходимо использовать SQLite (или другая соответствующая встроенная база данных) каждый раз, когда Вам не нужен формат чистого текстового файла. Отметьте, это - довольно большое исключение. Существует много сценариев, которые требуют или принесены пользу, форматы чистого текстового файла.
, Насколько издержки идут, SQLite компилирует во что-то как 250 К с нормальными флагами. Много XML парсинг библиотек больше, чем SQLite. Вы не получаете усилений параллелизма с помощью XML. Формат двоичного файла SQLite собирается поддерживать намного более эффективные записи (в основном, потому что Вы не можете добавить до конца хорошо отформатированного XML-файла). И даже чтение данных, большинство которых я принимаю, является довольно произвольным доступом, будет более быстрым использованием SQLite.
И в довершение ко всему прочь, Вы получаете доступ к преимуществам SQL как транзакции и индексы.
Редактирование: Забыл упоминать. Одно преимущество SQLite (в противоположность многим базам данных) - то, что он позволяет любой тип в любой строке в любом столбце. В основном с SQLite Вы получаете ту же свободу, которую Вы имеете с XML с точки зрения типов данных. Это также означает, что Вы не должны волноваться о помещении пределов на столбцы текста.
Я понял, что могу использовать атрибут childNodes фрагмента документа для создания списка узлов. Это было мое решение:
XML.prototype.function::domNodeList = function () {
var fragment = document.createDocumentFragment(),
len = this.length(),
i = 0;
for (; i < len; i++) {
fragment.appendChild(this[i].domNode());
}
return fragment.childNodes;
}