xPathを使用してデータを操作することに基づく基本的なHTMLレポートテンプレートシステムを作成しています。基本的には、あるクラスを持つノードまたはその子を選択するxPathクエリが必要です。共用体でxPathを使用してノードを選択する
$query = $xPath->query (".//*[contains(concat(' ', normalize-space(@class), ' '), ' -delete-if-no-stock ')]", $node);
Iは、XPathセレクタ.//*[contains(concat(' ', normalize-space(@class), ' '), ' -delete-if-no-stock ')]
は、具体的子孫ノード$node
パラメータのを見ていることを理解します。
基本的に "ノードまたはその子"に問い合わせるxPathクエリが必要です。私は組合オペレータ、|
があることを知っていますが、私はその実装方法を見ていません。私はこのような何かを想像したでしょう:.[contains(concat(' ', normalize-space(@class), ' '), ' -delete-if-no-stock ')] | .//*[contains(concat(' ', normalize-space(@class), ' '), ' -delete-if-no-stock ')]
しかし、これはInvalid expression
エラーを生成します。
ノードまたはその子は、ノードとその子を意味しますか? – akond
"Union"のように論理ORを意味します。 – Philip
親と子の両方に-delete-if-no-stockforceクラスを含める必要がありますか? – akond