1

基本上,如果我执行 Xdoc.Load(filename),进行一些更改,然后执行 Xdoc.Save(filename) 是否只保存更改的内容,例如插入或删除的元素等,还是重新保存所有内容?

根据答案,我正在考虑确定我的应用程序是要保存每次更改还是要在显式保存和退出时保存。还要考虑是写入多个 xml 文件还是将所有内容保存在一个大文件中。我不知道一个大文件有多大,但我怀疑它可能是 10 的 MB,所以如果它重新保存整个文件,那么我绝对不能在保存一个大文件的同时保存所有更改。

如果它确实保存了整个文件,是否有人认为每个实体(可能有数百个)都有一个单独的 xml 文件,这是否是一个好主意?

4

2 回答 2

8

它保存整个文件。这就是基于文本的格式的本质。文本文件不能在不重写未更改部分的情况下覆盖自身。

于 2009-05-16T03:22:00.583 回答
3

Yes, saving a document saves the whole document.

What's the use case for the "per change" save? Is it just in case the application crashes? If so, I suggest you save these incremental changes in a temporary directory as small files, but when the user explicitly says to save the file, save it in one big file. (That's easier to copy around etc.) Delete the temporary directory on exit.

I do wonder whether you really need the temporary directory at all though. It sounds like quite a lot of work for little benefit.

于 2009-05-16T06:43:20.160 回答