如何使用Jsoup获取这个值?

问题描述 投票:0回答:2

这是页面的片段:

<br><b>Price:</b>&nbsp;Rs. 24,900.00&nbsp;<br>

我需要获取值

Rs.24,900.00
。但我不知道如何获取它,因为它没有被任何元素包围。

我使用了这个:

doc.select("b:contains(Price:)");
来访问
Price:
元素。

但是我怎样才能得到那个

Rs.24,900.00
值呢?

java html parsing jsoup
2个回答
1
投票

您可以控制 HTML 的源吗?如果是这样,您永远不应该使用自由文本创建内容。它应该始终驻留在元素中,即使它只是一个 p 标签。 (body 元素不算在内。正文不应包含文本。)

否则您只能进行基于文本的搜索。


0
投票
Document doc = Jsoup.parse( "<br><b>Price:</b> &nbsp; Rs. 24,900.00 &nbsp; <br>");

Element el = doc.select("b").first(); //get the element which contains "Price:"

String text = ((TextNode) el.nextSibling()).text();

这里,首先我必须获得包含

Price:
的元素。 然后我们可以获取它的下一个兄弟并使用
text()
方法来获取它的文本。

感谢user1121883对类似问题的回答。

© www.soinside.com 2019 - 2024. All rights reserved.