使用多个Xpath查询来搜索XML

时间:2012-10-04 17:20:20

标签: php xml xpath

  

可能重复:
  Implementing condition in XPath and XQuery

我正在尝试编写一个简单的脚本来搜索包含性能事件信息的XML文件。 该文件的简化版如下:

<event>
    <title>Big Event 1</title>
    <tags>hip-hop</tags>
    <ticketed>YES</ticketed>
</event>
<event>
    <title>Big Event 2</title>
    <tags>jazz</tags>
    <ticketed>NO</ticketed>
</event>
<event>
    <title>Big Event 3</title>
    <tags>jazz</tags>
    <ticketed>YES</ticketed>
<event>

使用SimpleXml和Xpath我可以轻松搜索我想要的任何节点。但是,当我想要搜索两个参数时,问题出现了,即“给我标记爵士乐的所有事件”。

我的想法是通过Xpath查询为每个所需参数传递加载的XML。但是,我现在意识到第二个查询将失败,因为从第一个查询返回的内容不是SimpleXMLObject,而是包含匹配的SimpleXMLObjects的数组。

编辑 - 这是问题

如何使用多个参数搜索XML,每个参数可能存在,也可能不存在。一些示例查询。

  • 标签包含hip-hop
  • 标签包含hip-hop并且是出票
  • 标题包含“3”且未出票

我认为我可以通过每个必需搜索参数的XPath查询传递SimpleXMLObject,但这不起作用,因为第一个XPath查询的返回值是一个数组,而不是一个SimpleXmlObject。

0 个答案:

没有答案