По-моему, с помощью "Базы данных на основе плоских файлов" в смысле Вы имеете в виду (и ответ, который Вы приняли), не neccesarily лучший способ пойти о вещах. В первую очередь, использование serialize()
и unserialize()
может вызвать СИЛЬНЫЕ головные боли, если кто-то входит и редактирует файл (они могут, на самом деле, поместить код arbritrary в Вашу "базу данных", которая будет выполнена каждый раз.)
Лично, я сказал бы - почему бы не смотреть в будущее? Были так много раз, что у меня были проблемы, потому что я создавал свои собственные "собственные" файлы, и проект взорвался к точке, где ему нужна база данных, и я думаю, что "Вы знаете, мне жаль, что я не записал это для базы данных для запуска с" - потому что рефакторинг кода занимает слишком много времени и усилия.
От этого я узнал, что, соответствуя требованиям завтрашнего дня мое приложение так, чтобы, когда это становится больше, я не шел и провести дни, осуществляя рефакторинг, является способом продвинуться. Как я делаю это?
SQLite. Это работает базой данных, использует SQL и довольно легко перейти на MySQL (espescially при использовании абстрагированных классов для управления базой данных как, я делаю!)
На самом деле, espescially с "принятым ответом" метод, это может решительно сократить использование памяти Вашего приложения (Вы не должны загружать все "ЗАПИСИ" в PHP)
Разница в том, что тип XElement
представляет фрагмент XML, а тип XDocument
представляет весь документ XML со всеми связанными метаданными.
Тем не менее, в большинстве простых случаев вы можете использовать их как взаимозаменяемые.
Важно понимать тонкие различия в запросах между этими двумя типами, и для получения дополнительной информации я бы порекомендовал вам прочитать Запрос XDocument vs. запрос XElement :
Когда вы загрузить документ через
XDocument.Load
, вы заметите что вам нужно писать запросы немного иначе, чем когда ты загрузить черезXElement.Load
.
Существует не так много сценариев, требуется, чтобы вы создали XDocument. Вместо этого вы обычно можете создать свой XML-деревья с корневым узлом XElement. Если у вас нет особых требований для создания документа (например, потому что вам нужно создать обработку инструкции и комментарии вверху уровень, или вы должны подтвердить документ типов), часто удобнее используйте XElement в качестве корневого узла.
Прямо из Допустимое содержимое объектов XElement и XDocument . Что касается методов Load ... они оба загружают контент в свои соответствующие объекты.