我几年来一直致力于数据库驱动的Web应用程序,并且最近开展了一个涉及支持XML的CMS的项目.这使我开始考虑XML/XSLT的使用,以及在什么情况下它比我一直使用的方法更有用,它将我的所有数据存储在(My)SQL数据库中,然后使用PHP/Python的/等.根据需要在网上使用它.
显然我在这里没有"得到"......有人能给我一些应用程序示例,其中将数据存储在XML文件而不是数据库中会更好吗?
Con*_*lls 97
引用本书(有效的XML:50种改进XML的具体方法):
"XML不是数据库.它从来就不是一个数据库.它永远不会是一个数据库.关系数据库是经过验证的技术,具有20多年的实施经验.它们是坚固,稳定,实用的产品.它们不会消失.XML是一种非常有用的技术,用于在不同数据库之间或数据库与其他程序之间移动数据.但是,它本身并不是一个数据库.不要像那样使用它."
如果有点直言,我认为这总结了一下.XML是一种数据交换格式.可以使用XML解析库来查询带有XPath表达式的DOM,但这与DBMS不同.您可以使用DOM/XPath接口构建DBMS,但要获得ACID属性或扩展到大型数据集,您需要实现DBMS引擎和带有索引,日志记录和DBMS的其他工件的数据格式 - (根据定义)它不是XML的东西.
我使用XML的东西:
这些用例与数据库的用例之间没有很多重叠.一些,但不多.
具有讽刺意味的是,我目前正在最大限度地使用XML的是一个桌面应用程序,它构建了一个内存中的ADO DataSet,并使用DataSet的WriteXml和ReadXml方法来持久化和检索它.我正在使用ADO,因为使用ADO动态构建由元信息定义的数据模型要比为任务实现我自己的对象模型要容易得多.
所以这是一个看起来我正在使用XML作为数据库的情况.但我真的不是.我使用的对象模型恰好实现了许多类似数据库的功能,而我正在使用XML作为其持久性格式.