使用小型 XML 作为数据库 - 最佳查询方法


Using small XML as database - best way to query

我正在做一个供个人使用的小型爱好项目,这需要一种方法来存储一些值。我能想到的三种方法是使用:MySQLdb,XML文件或HTML5的LocalStorage(如果您能想到其他方便的方法,请发表评论)。

现在,由于我可能想从另一个浏览器(例如移动设备)访问相同的值,因此 LocalStorage 显然不是这样做的方法。现在说到XML,我知道它只是作为传输数据的一种手段,而数据存储应该在MySQL中完成。但是,由于这是一个只需要不超过几千字节的XML文件的小项目,因此在这种情况下使用XML比设置MySQL数据库更方便。我说的对吗?

假设我想使用 XML,如何使用 a) 附加一些节点)PHP和b)JQuery还是其他?您认为哪一种是最方便的方法?

我发现很少有写得很好的例子来说明如何做到这一点(特别是使用 JQuery,我找不到如何以简单的方式附加 XML 文件的示例),所以如果你能附加一些示例代码进行比较,那就太棒了,谢谢!

首先 - jQuery是客户端脚本库。这意味着使用 jQuery(.XML包括文件操作)执行的操作是在客户端完成的,不会影响服务器端。有人可能会说jQuery可以使用AJAX在服务器端执行操作,但实际上它是服务器脚本(php/perl/asp(x))是执行操作的脚本。

因此,假设您有少量数据需要查询和更新。这可以通过使用"平面"文件系统或使用数据库来完成。

  1. 使用平面文件 - CSV 或 XML 是一个简单的选择。
    • CSV/XML 文件可以使用文件获取内容和file_put_contents进行操作。 如果你选择使用XML,你可以使用优秀的SimpleXML库(基于示例的指南可以在这里找到)使用XML可以创建高级日期结构,
    • XML与SimpleXML(基于示例的指南可以在这里找到)一样很棒。使用 XML 还允许您创建高级日期结构
    • 缺点是更新平面文件将意味着相当大的安全风险,因为您需要授予对网站其中一个文件夹的写入权限,这通常是个坏主意。
  2. DB - MySQL 或 SQLite(如 @garrett-albright sudgested)起初似乎有些矫枉过正,但使用 SQL 实际上可以节省您的时间(因为代码会更简单,您将中继经过良好测试和记录的对象),并且有很多 CRUD 生成器和类可以为您完成大部分工作。使用数据库,您可以使用
    • MySQL - 伟大的DB,似乎是PHP的BFF,易于使用,非常非常有文档,通常免费提供托管包。
    • SQLite - 我在小型数据库中选择的武器,不需要服务来运行,几乎是零配置的数据库。
    • 两个数据库选项都支持PDO,这将允许您编写代码并自由更改数据库和平台。