Java 如何使用jsoup获取不属于任何元素的文本?

Java 如何使用jsoup获取不属于任何元素的文本?,java,parsing,html-parsing,jsoup,Java,Parsing,Html Parsing,Jsoup,如何获取不属于任何元素的文本 <br><b>Price:</b> &nbsp; Rs. 24,900.00 &nbsp; <br> 价格:24900.00卢比 在这里,如何获取文本Rs.24900.00。使用jsoup可以吗?我假设有一个父元素,所以您应该首先选择它,然后像下面的代码一样选择“b”。基本上就是在文本前面找到元素 Document doc = Jsoup.parse( "<br><b>Pri

如何获取不属于任何元素的文本

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

价格:24900.00卢比

在这里,如何获取文本
Rs.24900.00
。使用jsoup可以吗?

我假设有一个父元素,所以您应该首先选择它,然后像下面的代码一样选择“b”。基本上就是在文本前面找到元素

Document doc = Jsoup.parse( "<br><b>Price:</b> &nbsp; Rs. 24,900.00 &nbsp; <br>");
Element el = doc.select("b").first();
String text = ((TextNode) el.nextSibling()).text();
Document doc=Jsoup.parse(
价格:24900.00卢比
); 元素el=文件选择(“b”).first(); 字符串text=((TextNode)el.nextSibling()).text();
我使用第一个是因为我从您的示例中知道只有一个“b”元素。如果您有多个价格,您必须迭代所有元素,而不是使用第一个


Jsoup将文本存储为节点。因此,nextSibling将返回一个节点(TextNode),该节点紧跟在“b”元素之后,并包含文本值:“Rs.24900.00”

可能重复@ScaryWombat,我认为这个问题是不同的,因为我根本没有处理xpath。哎呀!我收到一个错误:TextNode无法解析为type.import org.jsoup.nodes.*;谢谢成功了。但是为什么我们需要第一个()?nextSibling的意思是对的?@nikhil将在回答中添加解释