XML是否可以像MySQL一样用于在PHP中存储、修改和检索数据?管理通用存储的数据(如CRUD、CMS)

XML是否可以像MySQL一样用于在PHP中存储、修改和检索数据?管理通用存储的数据(如CRUD、CMS),php,xml,content-management-system,crud,Php,Xml,Content Management System,Crud,这是一个很长很老的问题,没有切中要害。我基本上想知道涉及平面文件的实践,以及它们作为SQL的替代品可以被使用的程度,主要是在多用户功能方面。 当时,我想用平面文件复制一个SQL表编辑器界面,允许协作编辑。基本上类似于多用户Excel,具有自动数据输入界面和交互式可排序表。 我还想为服务器构建一个CMS索引页面,该页面解析文本文件以构建一个动态网页,便于更新/管理。 我已经开始学习MySQL和XML。对于动态数据存储,我更喜欢XML而不是MySQL,因为它不需要服务器,可以在文本编辑器中编辑,但我

这是一个很长很老的问题,没有切中要害。我基本上想知道涉及平面文件的实践,以及它们作为SQL的替代品可以被使用的程度,主要是在多用户功能方面。

当时,我想用平面文件复制一个SQL表编辑器界面,允许协作编辑。基本上类似于多用户Excel,具有自动数据输入界面和交互式可排序表。 我还想为服务器构建一个CMS索引页面,该页面解析文本文件以构建一个动态网页,便于更新/管理。

我已经开始学习MySQL和XML。对于动态数据存储,我更喜欢XML而不是MySQL,因为它不需要服务器,可以在文本编辑器中编辑,但我不确定它们是否可以用于类似的事情

(我知道MySQL和XML是两个完全不同的东西,但我将从数据存储的角度来看这一点。)

在过去,我手动将内容列表存储在*.txt文件中(以跟踪内容),有时每行包含多个字段,类似于一个表,或者包含相关数据的行。HTML表格在这方面很好,但是如果能够在页面中直接编辑而不需要文本编辑器,并且在某些情况下允许多人(协作编辑)同时编辑不同的部分,那就更好了

(我想用PHP来创建可以做到这一点的脚本——允许在浏览器中编辑文件,包括协作。我想学习一般的数据操作方法。)

因此,基本上,我想以内容管理系统的形式为我想显示的任何脚本和文档创建一个索引。我希望页面以某种方式模块化。。一些模块可能是带有表格数据的CRUD(创建、读取、更新、删除),另一个模块可能是从PHP脚本派生的类似pastebin的文本转储,一些类似wiki的链接文章、单个文章或博客文章的文章发布系统

无论如何,我已经编写了解析XML文件的脚本,我喜欢将内容与表示分离的想法,但我不知道如何/是否可以将XML合并到CMS(或任何动态可编辑的情况)中,因为大多数流行的使用MySQL。这只供个人使用,不适用于某些大型网站,如果它简单、可移植,只需要Web服务器就好了。我只会选择MySQL作为最后手段,因为我不喜欢每次切换服务器时都要设置MySQL,或者遇到MySQL连接错误


我应该怎么做/有什么建议吗?

所以你有两个问题:“XML可以像MySQL一样使用吗?”(不,必须区别对待,使用XPath而不是SQL等)和“XML可以用于构建CMS吗?”(是的,有一些类似的问题,例如GetSimple CMS-请参阅) 您必须知道,XML只适用于较小数量的数据,但在这种情况下,您可能不需要数据库的重量

我更喜欢XML而不是MySQL,因为它不需要服务器

我更喜欢步行而不是开车旅行,因为它不需要汽车。所以,我每天花6个小时去上班和回来

XML可以在文本编辑器中编辑

理论上。
实际上,XML受到许多严格的规则和标准的约束,因此在编辑逗号时几乎无法不破坏整个文件。
面对事实——这是为了程序,而不是人类

在过去,我手动将内容列表存储在*.txt文件中

你最好进一步坚持这种方法

HTML表格对此很有用

HTML表在这方面更糟糕,甚至比XML更糟糕

我想以内容管理系统的形式为我想显示的任何脚本和文档创建一个索引

您错误地使用了内容管理系统。它是内容管理系统,而不是脚本管理系统。它只管理存储在某处的内容和数据

我喜欢将内容与演示分离的想法

我也喜欢它,但是您的XML与这个想法无关

我该怎么做/有什么建议吗

学开车。不要一直是行人。
学习数据库


XML是一种标记语言,MySQL是一种数据库引擎。它们是两种完全不同的技术。我的头要爆炸了。停止拿出一张纸。在中心画一条垂直线。一边穿,另一边穿。然后阅读相关的维基百科条目,花几分钟时间思考,然后在适当的侧面写下摘要、设计目标(和非目标)和其他要点。“区别”很快就会非常明显。我知道两者之间的区别。我想写一个CMS而不需要庞大的数据库服务器。如果应用程序的设置可以用XML存储/更新,为什么网站的内容就不能用XML存储/更新呢?你不需要数据库服务器就可以拥有数据库。但XML不是这样。@bryc我从来没有说过它不可能。考虑SharePoint这是一个可怕的混合。我已经环顾四周,并且似乎是我正在寻找的。看看如何使用DOM文档与PHP进行转换。这样,您就不需要将站点数据拉入PHP。