我需要使用xml文件插入,刪除和更新數據。我聽說過一些像xpath,XStream或JDOM這樣的方法。除了這個方法的名字,我不知道任何東西,就像數據庫一樣使用xml。哪一個更容易學習?你爲什麼建議初學者使用XML文件作爲Java數據庫?
0
A
回答
3
數據庫和XML是相當不同的野獸。 XML是一種連續的,以文檔爲中心的文件格式,即無需將整個文件寫回磁盤即可更新XML文件。另一方面,數據庫允許在不觸及任何其他記錄的情況下有效地插入,更新和刪除單個記錄。
使用XML文件實現「數據庫」時無法實現該屬性,因此,如果您的數據量不平均,並且一次只更新一些記錄,則此方法效率非常低。
也就是說,將數據映射到XML的相對簡單的方法是JAXB。起點可能是 Chapter 17 of the Java EE 5 Tutorial。您可能不需要架構,只需使用JAXB批註註釋要寫入/讀取XML的類即可。
0
我不確定XML會構成一個好的「數據庫」。 XML是分層的;關係數據庫是基於集合的。
XML XPath與SQL DQL不同。
你想重複抽象掉數據源的LINQ思想嗎?
0
這很大程度上取決於您想如何處理更新的持久性。如果數據足夠小以至於您可以考慮將整個數據從內存寫回磁盤,那麼您可以使用類似DOM的方法(即將整個XML存儲在內存中),也許可以使用支持XQuery的Saxon等處理器, XQuery針對內存中的XML進行更新。但是,這僅僅是「像數據庫」一樣有限:它不會爲您提供事務,鎖定,恢復,原子性或人們與數據庫關聯的任何管理功能,更不用說處理大數據量的可伸縮性了。如果你想要一個真正的數據庫,選擇一個XML數據庫,如eXist(開源)或MarkLogic(商業)。
相關問題
- 1. (初學者Java)爲什麼我的數組爲null?
- 2. 使用XML文件作爲數據庫
- 3. 用於爲初學者編寫推文克隆的數據庫
- 4. SQL數據庫初學者
- 5. 需要關於使用XML作爲數據庫的建議C#
- 6. 需要爲初學者提供Apache_beam學習資料的建議
- 7. 用json爲初學者建議ASP.NET MVC的教程
- 8. JavaScript初學者:爲什麼這不起作用?
- 9. 爲什麼在你使用MySQL數據庫時創建對象?
- 10. 使用本地數據庫的數據倉庫 - 初學者
- 11. 初學者 - 通過XML或文本文件存儲數據
- 12. 爲初學者導入dmp文件
- 13. Java初學者,爲什麼我的程序保持終止?
- 14. Git爲初學者
- 15. JointsWP爲初學者
- 16. Java初學者作業
- 17. MySql命令行初學者建議
- 18. 初學者的建議和HTTP請求
- 19. ember.js初學者建議需要
- 20. XML文件作爲數據庫?
- 21. 使用gopacket作爲初學者學習golang
- 22. 初學者對服務器端文件存儲的建議
- 23. 線程行爲:Java初學者
- 24. 對初學者級ASP/XML測試的建議
- 25. 必須爲Python初學者標準庫
- 26. 爲什麼你不應該使用svg文件作爲網站?
- 27. 建議使用xml文件的數據庫表。 (mysql/php)
- 28. 數據庫爲什麼創建事件
- 29. 數組Java初學者
- 30. 初學者數據庫問題
[Java的最佳XML解析器]的可能的重複(http://stackoverflow.com/questions/373833/best-xml-parser-for-java) – assylias 2012-03-21 23:15:42
你是什麼意思「使用xml文件」。數據應該插入到xml文件中,還是要插入的數據來自xml文件? – meriton 2012-03-21 23:16:22
數據應該插入到xml文件中。 – 2012-03-21 23:18:49