替换部分XML文件的更快方法:XMLDocument还是TextStream?

替换部分XML文件的更快方法:XMLDocument还是TextStream?,xml,vb6,filestream,Xml,Vb6,Filestream,我在VB6中有一个应用程序,可以将销售信息存储到数据库中。当用户输入数据时,我希望将其存储到本地XML文件中,以避免由于网络故障等而丢失数据。因此,当输入每个项目行时,该行将追加到XML文件中 我正在考虑将新行数据附加到文件中,这样它就不必读取任何现有数据。但由于XML需要结束标记,这似乎不起作用 因此,我想我必须读取文件,删除最后的标记,并用结束标记附加其余的数据。这是正确的方法吗?从性能角度看,什么是最好的方法?使用XMLDocument或TextStream?由于这是在一个“会话”中完成的

我在VB6中有一个应用程序,可以将销售信息存储到数据库中。当用户输入数据时,我希望将其存储到本地XML文件中,以避免由于网络故障等而丢失数据。因此,当输入每个项目行时,该行将追加到XML文件中

我正在考虑将新行数据附加到文件中,这样它就不必读取任何现有数据。但由于XML需要结束标记,这似乎不起作用

因此,我想我必须读取文件,删除最后的标记,并用结束标记附加其余的数据。这是正确的方法吗?从性能角度看,什么是最好的方法?使用XMLDocument或TextStream?

由于这是在一个“会话”中完成的,只需将
XMLDocument
对象保留在内存中,向其添加新节点,并在每次添加行时保存文件。
如果需要恢复会话,只需将XML加载到同一个对象中,然后像以前一样继续


这将保存完整的加载、解析、每次保存或尝试的字符串解析。

这听起来太复杂了。是否已经考虑过管理数据(更不用说ACID)方面的东西?例如,本地SQLite数据库..我一次只存储一个条目,其中可能包含多达100行的项。一旦将其保存到数据库中,就可以将其删除。这是个坏主意吗?请建议。实际上,我不想为这个井安装任何本地DB,如果有人向我建议,我会(或应该)做的第一件事就是。然后我就可以自己看看他们的建议对我的场景是否有效了。好吧,很抱歉沟通错误,实际上我的问题是,为什么你认为xml存储太复杂了?被击中的是读取文件还是频率写入文件?(顺便说一句,我现在正在阅读sqllite)另一种方法可能是不创建有效的XML文件,而是创建一个日志/XML片段列表的文件(有一个限制,记录只能添加到日志的末尾)。也就是说,不要创建根元素,而是将每个记录添加为它自己的顶级元素。这样就不必处理结束标记(在每个片段所需的结束标记之外),但我需要在会话之外保留它。即使软件关闭,我也需要数据恢复。我还考虑了上面评论中建议的使用sqlite DB的选项。这似乎是一种选择。但是在驱动程序的安装中遇到了一些问题。多谢各位though@user1616785:然后在重新启动会话时将XML文件加载回同一对象。然后,您可以将节点追加到此结尾,并按以前的方式保存。