0

可能重复:
在 XPath 和 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,我可以轻松搜索我想要的任何节点。但是,当我想搜索两个参数时,问题就来了,即“给我所有标记为 jazz 的已出票的事件”。

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

编辑 - 这是问题

如何使用在每种情况下可能存在或不存在的多个参数搜索 XML。一些示例查询。

  • 标签包含嘻哈
  • 标签包含嘻哈音乐并已出票
  • 标题包含“3”且未出票

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

4

0 回答 0