我需要使用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. 用于为初学者编写推文克隆的数据库
- 3. 需要关于使用XML作为数据库的建议C#
- 4. 需要为初学者提供Apache_beam学习资料的建议
- 5. 为什么在你使用MySQL数据库时创建对象?
- 6. 初学者 - 通过XML或文本文件存储数据
- 7. 为初学者导入dmp文件
- 8. Java初学者,为什么我的程序保持终止?
- 9. Git为初学者
- 10. 初学者的建议和HTTP请求
- 11. ember.js初学者建议需要
- 12. MySql命令行初学者建议
- 13. XML文件作为数据库?
- 14. 使用gopacket作为初学者学习golang
- 15. 线程行为:Java初学者
- 16. 为初学者解释java代码
- 17. 初学者对服务器端文件存储的建议
- 18. 对初学者级ASP/XML测试的建议
- 19. 必须为Python初学者标准库
- 20. 建议使用xml文件的数据库表。 (mysql/php)
- 21. 数组Java初学者
- 22. 连接数据库SQL Server初学者
- 23. 在javascript中为初学者构建类
- 24. 从文件问题读取数据(Java初学者语言)
- 25. Java初学者:使用错误的长度向量作为参数传递
- 26. 你使用什么文件格式为你的应用程序,为什么?
- 27. 作为初学者入门:C编程
- 28. 作为React初学者的React-data-grid
- 29. 想学习Microsoft Dynamics CRM。请建议动力学初学者?
- 30. Java初学者 - 为什么Java代码不工作:Math.sqrt需要什么来识别?
[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