【发布时间】:2011-07-06 00:02:18
【问题描述】:
我是 XPath 世界的新手。我想采用 XML 方法来支持我的简单投资组合网站,而不是数据库,在这种情况下,这将是多余的,因为唯一的数据库元素就是项目本身。
我创建了一个具有以下结构的 XML 文件:
<?xml version="1.0" encoding="UTF-8" ?>
<projects>
<project>
<title>A-Merchandise</title>
<slug>a-merchandise</slug>
<projectType>E-commerce</projectType>
<launchDate>2007-08-01</launchDate>
</project>
...
现在,我可以使用 PHP 解析这个 XML 文件以获得列表概述,但是如何使用 XPath 过滤项目?例如,如何获取所有具有projectType 子节点且值为e-commerce 的project 节点?
通常,我会运行如下 SQL 查询:
SELECT * FROM `projects` WHERE `category` = 'e-commerce';
XPath 等价物是什么?我的 XML 文件的结构是否适合这种过滤?
任何指针都会很棒。提前致谢。
【问题讨论】:
-
可能与问题无关,但出于您的目的,您是否考虑过使用 sqlite ?数据库引擎在与应用程序相同的进程空间中初始化,并且数据库文件以“*.db”格式存储。 Sqlite 具有 PHP 绑定,您可以像发送任何其他数据库引擎一样发送 SQL 语句。看看这个链接:
-
@de costo - 我和下一个人一样喜欢 SQLite,但完全跑题了......你怎么知道他现在没有使用 sqlite?
-
@Byron - 建议作为作者存储文件目的的选项。在我看来,应该不需要 XML 文件,你有 .db 文件来存储信息。
-
@de costa - 你是对的,我没有意识到他创作了 xml 文件。我收回我之前的评论!
-
哇。只想在这么短的时间内感谢所有有用的答案。不幸的是,我只能选择一个答案作为正确答案,但对我有帮助的不止一个。谢谢大家。