Форум сайта python.su
Парсим файл, модифицируем узел. Успешно все проходит, но естественно что это только в памяти все успешно, а вот в файл это еще надо все записать. И здесь получается, что надо снова все дерево перегнать в файл. Если изменений было очень много согласен все нормально, а если их было мало, то нет ли способа перезаписать в файле только те части дерев, которые изменены?
Офлайн
Это одна из многих причин, почему использовать не xml а более разумные хранилища. Для жестко структуированных данных - реляционные базы, для данных в которых много ссылок или динамически меняется схема - объектные базы, для читаемых людьми - разрабатывать язык и делать парсер. B питоне это легко - mysql, zodb, CocoPy.
Мой опыт и общение с другими людьми - достаточно сведущими в этом вопросе со временем убедил меня что xml крайне неудачный формат - компромис такого рода что и человеку читать неудобно и доставать или сохранять медленно и неудобно.
Думаю правда найдутся люди которые со мной не согласятся.
Офлайн
Да zodb кстати возможно больше подходит к моей задаче, так как довольно много в структуре данных иззменчиво
Офлайн
В zodb есть правда один досадный недостаток при добавлении данных в btree она сильно пухнет - я об этом спрашивал на форуме по db. Надо изредка делать pack базы. Надеюсь это со временем уйдет.
Офлайн
Ну везде есть свои недостатки:)
Офлайн