1. ホーム
  2. xml

[解決済み] XPath contains()の使い方を教えてください。

2022-04-27 16:52:56

質問

XPathを学ぼうとしています。私は他の contains() を使用した例はありませんでした。 AND 演算子を使用します。これがうまくいかないんです。

//ul[@class='featureList' and contains(li, 'Model')]

オン。

...
<ul class="featureList">

<li><b>Type:</b> Clip Fan</li><li><b>Feature:</b> Air Moved: 65 ft.
    Amps: 1.1
    Clip: Grips any surface up to 1.63"
    Plug: 3 prong grounded plug on heavy duty model
    Usage: Garage, Workshop, Dorm, Work-out room, Deck, Office & more.</li><li><b>Speed Setting:</b> 2 speeds</li><li><b>Color:</b> Black</li><li><b>Power Consumption:</b> 62 W</li><li><b>Height:</b> 14.5"</li><li><b>Width:</b> Grill Diameter: 9.5"</li><li><b>Length:</b> 11.5"</li>

<li><b>Model #: </b>CR1-0081-06</li>
<li><b>Item #: </b>N82E16896817007</li>
<li><b>Return Policy: </b></li>
</ul>
...

解決方法は?

あなたは、最初の li を探すのではなく、クエリ内のすべての li 子要素にテキストが含まれている可能性があります。 'Model' . 必要なのは、次のようなクエリです。

//ul[@class='featureList' and ./li[contains(.,'Model')]]

このクエリでは、要素に classfeatureList と、1つ以上の li の子で、テキストを含む。 'Model' .