如何查询多个XML文件?

时间:2014-06-15 20:46:41

标签: php mysql xml xpath xquery

我将获得需要查询的数万个XML文档。查询需要包含所有XML文件,而不仅仅是查询单个文件。例如,我可能需要:

  • <name>是最新的
  • 的XML文件中返回<publish_date>

我可以在这种情况下使用哪些技术或方法?

  • 遍历每个XML文件并执行XPath?这将太昂贵且无法扩展
  • 使用XML并将其插入到已建模以尊重XML架构的数据库中?那么只需要定期的SQL查询来获取我需要的数据吗?
  • 使用XML数据库?
  • XQuery可以选择吗?

这需要成为PHP / MySQL解决方案的一部分。

1 个答案:

答案 0 :(得分:1)

获取XML文件并将其插入eXist-db。您可以通过对其REST API执行HTTP POST或PUT(根据您的需要)轻松地从PHP插入这些内容。如果将它们插入到同一个collection中,那么您可以从PHP执行HTTP GET或POST,发送一个XQuery来查询来自同一集合的所有文档,例如:。

collection("/db/your-collection-of-documents")//name[parent::element()/publish_date gt "2014-006-14"]

如果您可以更具体地了解XML,我可以使用您需要使用的REST URI以及适当的XQuery来更新此问题。