我目前正在尝试使用xPath和Rapidminer从网站中提取一些文本。 我想提取" 270€"来自以下代码:
<dd class="grid-item three-fifths">
<span class="is1-operator">+</span>
270 €
</dd>
我尝试了以下无法解决的问题。
//h:dd[@class='grid-item three-fifths']//text()
感谢您的帮助:)
答案 0 :(得分:0)
您的Xpath返回3个文本节点:
""
"+"
"270€"
尝试使用以下XPath来仅提取"270€"
//h:dd[@class='grid-item three-fifths']/text()[string-length() > 0]
答案 1 :(得分:0)
如先前文章所述,可以使用字符串长度过滤器,但是[string-length() > 0]
仍带3个节点。 “输入”和“ +”文本内容都具有字符。
[string-length() > 1]
应该可以工作。
如果您确定商品位置(在本例中为第3位)
//dd[@class='grid-item three-fifths']//text()[3]
如果您确定它始终是最后一项:
//dd[@class='grid-item three-fifths']/text()[last()]
您可以在dd跨度后获得文本节点:
//dd[@class='grid-item three-fifths']//span/following-sibling::text()
寻找欧元符号:
//dd/text()[contains(.,'€')]