如何使用jsoup获取此值?

时间:2015-03-24 18:42:15

标签: java html parsing jsoup

这是该页面的摘录:

<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值?有什么帮助吗?

2 个答案:

答案 0 :(得分:1)

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

否则,您只能使用基于文本的搜索。

答案 1 :(得分: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:的元素。 然后我们可以得到它的nextsibling并使用text()方法来获取它的文本。

感谢user1121883对类似question的回答。