2013-03-30 44 views
0

我有一個應用程序在VB6中存儲銷售信息到數據庫。在用戶輸入數據時,我想將其存儲到本地XML文件中,以避免因網絡故障等原因丟失數據。因此,當輸入每個項目行時,該行會被添加到XML文件中。更快取代部分XML文件的方法:XMLDocument或TextStream?

我正在考慮將新行數據追加到文件中,因此不必讀取任何現有數據。但是,由於XML需要關閉標籤,這似乎不起作用。

所以我想我必須讀取文件,刪除最後的標籤,並用結束標籤附加其餘的數據。這是否是正確的方法?性能方面最好的方法是什麼?使用XMLDocument或TextStream?

+0

這聽起來太複雜了。考慮管理數據(更不用說ACID)方面了嗎?例如,一個本地SQLite數據庫.. – 2013-03-30 09:27:06

+0

我會一次只能存儲一個條目,可能包含可能高達100行的項目。一旦將其保存到要刪除的數據庫中。這會是一個壞主意嗎?請建議。我實際上並不想爲這個 – sjd

+0

安裝任何本地數據庫嗯,如果有人向我建議了某些東西,我會(或應該)做的*第一件事是* [*查看它*](http:// www.sqlite.org/)。然後,如果他們的建議對我的方案有效(或不適用),我將能夠看到自己。 – 2013-03-30 09:56:18

回答

1

由於這是在一個「會話」中完成的,只需將XMLDocument對象保留在內存中,併爲其添加新節點並在每次添加行時保存該文件。
如果您需要恢復會話,只需將XML加載到同一對象中,然後像以前一樣繼續。

這節省了全部負載,解析,保存每次或試圖解析字符串。

+0

但我需要在會話之外保留它。即使軟件被關閉,我也需要數據才能恢復。正如上面的評論中所建議的,我也在考慮使用sqlite數據庫的選項。這似乎是一種選擇。但是在驅動程序安裝中遇到了一些問題。非常感謝您,但 – sjd

+0

@ user1616785:然後只需在重新啓動會話時將XML文件加載回同一對象。然後,您可以將節點附加到該節點的末尾,並像以前一樣進行保存。 – Deanna