我目前正在玩JSoup(http://jsoup.org)并且有点陷入困境。解析页面并获取我可能需要的任何链接没有问题,但我现在正试图从网页上获取文本。
E.g
<div class="mod-job-details" itemscope itemtype="http://schema.org/JobPosting">
<strong itemprop="datePosted">Today, 11:11pm</strong>
<ul>
<li itemprop="jobLocation" itemscope itemtype="http://schema.org/Place">
<label>Location:</label>
<div itemprop="address" itemscope itemtype="http://schema.org/PostalAddress" data-automation="apply_text_location">
<span itemprop="addressLocality" data-automation="apply_text_location_area">XXXX</span>
<span itemprop="addressRegion" data-automation="apply_text_location_suburb"><span class="mod-arrow state-arrow-right"> </span> XXXX</span>
</div>
</li>
<li>
<label>Work type:</label>
<div itemprop="employmentType">XXXXXX</div>
</li>
我正试图拥有&#34; XXXXX&#34;找到并保存为字符串。
非常感谢任何帮助
答案 0 :(得分:0)
您可以使用text()
或ownText()
方法获取Element的文字。 text()
方法包括元素内的所有文本(包括其子元素),而ownText()
仅提供元素本身的文本(不包括子元素)。
因此,您只需选择包含所需文字的元素,然后根据需要获取text()
或ownText()
。在您的示例中(在try.jsoup.org上查看):
String a = doc.select("span[itemprop=addressLocality]").first().ownText();
String b = doc.select("span[itemprop=addressRegion]").first().ownText();
String c = doc.select("div[itemprop=employmentType]").first().ownText();
(如果页面中有多个此类元素,请迭代select
的结果,而不是立即调用first()
。)