• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:XPathで、2クエリをまとめたい)

XPathで2つのクエリをまとめる方法

このQ&Aのポイント
  • XPathを使用して2つのクエリをまとめる方法についてアドバイスをお願いします。
  • 現在、3行目のクエリを一時的に使用していますが、より効率的な方法があれば教えてください。
  • また、ソースに不定期に<storong>が入ることがあり、これに対処する方法も知りたいです。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

<?php $xmlstr = <<<XML <?xml version="1.0" encoding="UTF-8"?> <hoge> <div style='FONT-SIZE: 1.4em'> <ol> <li><strong>あああ</strong></li> </ol> <strong> <ol> <li><strong>いいい</strong></li> </ol> </strong> </div> <ul> <li><strong>ううう</strong></li> </ul> </hoge> XML; $dom = new domDocument(); $dom->loadXML($xmlstr); $xpath = new domXPath($dom); $xpathstr1 = "//div[@style='FONT-SIZE: 1.4em']/ol/li/strong"; $xpathstr2 = "//div[@style='FONT-SIZE: 1.4em']/strong/ol/li/strong"; // http://www.w3.org/TR/xpath#node-sets // The | operator computes the union of its operands, which must be node-sets. $entries = $xpath->query($xpathstr1 . "|" . $xpathstr2 ); for ($i=0; $i < $entries->length; $i++){ $node = $entries->item($i); print $node->textContent; //うううは表示されない } ?>

fabu
質問者

お礼

テストしていたらお礼をするのを忘れていました。。すみません。 バッチリ動きました。 コツをつかむ必要がありそうです。Xpath。。 ありがとうございました。

関連するQ&A