我有以下HTML结构(有许多块使用相同的架构):
<span id="mySpan">
<i>
Price
<b>
3 900
<small>€</small>
</b>
</i>
</span>
现在,我想使用Xpath获取<b>
的内容,我试过这样:
//span[@id="mySpan"]/i/node()[1][contains(text(),"Price")]
哪个匹配任何东西。如何使用node()[1]
文本作为锚点来匹配?
答案 0 :(得分:0)
关于您尝试的Xpath,而不是返回文本节点子的text()
,只需使用.
:
//span[@id="mySpan"]/i/node()[1][contains(.,"Price")]
为了最终目标,我建议使用XPath:
//span[@id="mySpan"]/i[contains(.,"Price")]/b
或者如果您想要专门匹配<i>
中的第一个节点:
//span[@id="mySpan"]/i[contains(node(),"Price")]/b