重複の可能性:
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 を使用すると、必要なノードを簡単に検索できます。しかし、2 つのパラメーターで検索したい場合に問題が発生します。つまり、「チケットが発行された、jazz というタグが付いたすべてのイベントを教えてください」ということです。
私の考えは、ロードされた XML を、必要なパラメーターごとに Xpath クエリを介して渡すことでした。ただし、最初のクエリから返されたのは SimpleXMLObject ではなく、一致する SimpleXMLObject を含む配列であるため、2 番目のクエリは失敗することがわかりました。
編集 - これが質問です
それぞれの場合に存在する場合と存在しない場合がある複数のパラメーターを使用して XML を検索するにはどうすればよいですか。クエリの例。
- タグにヒップホップが含まれています
- タグにはヒップホップが含まれており、発券されています
- タイトルに「3」が含まれており、発券されていません
必要な検索パラメーターごとに XPath クエリを介して SimpleXMLObject を渡すことができると思っていましたが、最初の XPath クエリから返される値が SimpleXmlObject ではなく配列であるため、これは機能しません。