我正在尝试学习 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
子元素,而不是查找可能包含文本 'Model 的任何
。您需要的是如下查询:li
子元素'
//ul[@class='featureList' and ./li[contains(.,'Model')]]
此查询将为您提供具有 featureList
的 class
的元素以及一个或多个包含文本的 li
子元素,“模型”
。
关于xml - 如何在这里使用 XPath contains()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1064968/