xml - 如何在这里使用 XPath contains()?

标签 xml xpath

我正在尝试学习 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')]]

此查询将为您提供具有 featureListclass 的元素以及一个或多个包含文本的 li 子元素,“模型”

关于xml - 如何在这里使用 XPath contains()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1064968/

相关文章:

java - SwitchPreference 默认颜色

java - 阅读大型 xml 文档的最佳解决方案是什么?

java - 获取页面中多次出现的div的xpath

xml - 如何通过 XPath 对值进行排序

javascript - Firefox 说无法下载搜索插件

regex - 在 JMeter 中使用 RegEx 或 XPath 提取第二个 CDATA 内容

c# - 通过使用 xpath 在 c# 中过滤现有文档来创建新的 XMLDocument

java - HTML 代码中元素的 XPath

xml - XPath 选择不同命名空间中的节点

c# - 如何编写此嵌套的 Linq To Xml 查询