使用具有不同节点的xpath提取文本
我目前正在尝试使用xPath和Rapidminer从网站中提取一些文本。 我想从以下代码中提取“270欧元”:使用具有不同节点的xpath提取文本,xpath,rapidminer,Xpath,Rapidminer,我目前正在尝试使用xPath和Rapidminer从网站中提取一些文本。 我想从以下代码中提取“270欧元”: <dd class="grid-item three-fifths"> <span class="is1-operator">+</span> 270 € </dd> 感谢您的帮助:)您的Xpath返回3个文本节点: ” “+” “270欧元” 尝试在XPath下方仅获取“270欧元” 如前一篇文章中所述,可以使用字符串长度过滤器
<dd class="grid-item three-fifths">
<span class="is1-operator">+</span>
270 €
</dd>
感谢您的帮助:)您的Xpath返回3个文本节点:
”
“+”
“270欧元”
“270欧元”
如前一篇文章中所述,可以使用字符串长度过滤器,但是
[string-length()>0]
仍然会带来3个节点。“enter”和“+”文本内容都有一个字符
[string-length()>1]
应该可以
如果您确定项目位置(在本例中为第三位置)
如果您确定它始终是最后一项:
//dd[@class='grid-item three-fifths']/text()[last()]
您可以在dd中获取跨度后的文本节点:
//dd[@class='grid-item three-fifths']//span/following-sibling::text()
寻找欧元标志:
//dd/text()[contains(.,'€')]
嘿,安德森,谢谢你的回复。我尝试了您建议的代码,但它仍然只返回问号。您是否尝试此解决方案?还是你找到了自己的?嘿,安德森,我试了你的建议,结果还是打了个问号。到目前为止,我还没有解决这个问题,我在提供的HTML示例中没有看到问号。你能分享准确的HTML吗?没错,HTML中没有问号,这就是为什么我想知道为什么它不起作用。准确代码为:+270欧元,从以下网站获取:
//dd[@class='grid-item three-fifths']/text()[last()]
//dd[@class='grid-item three-fifths']//span/following-sibling::text()
//dd/text()[contains(.,'€')]