1

我正在使用 Java Jsoup 来获取一些详细信息。

<ul class="vcard-details"> 
 <li class="vcard-detail" itemprop="homeLocation"><span class="octicon octicon-location"></span>Caldwell, Idaho, USA</li> 
 <li class="vcard-detail"><span class="octicon octicon-mail"></span><a class="email" href="mailto:jamisbuck@gmail.com">jamisbuck@gmail.com</a></li> 
 <li class="vcard-detail" itemprop="url"><span class="octicon octicon-link"></span><a href="http://blog.jamisbuck.org" class="url" rel="nofollow me">http://blog.jamisbuck.org</a></li> 
 <li class="vcard-detail"><span class="octicon octicon-clock"></span><span class="join-label">Joined on </span><time class="join-date" datetime="2008-02-28T17:37:32Z" day="numeric" is="local-time" month="short" year="numeric" title="Feb 28, 2008, 11:07 PM GMT+5:30">Feb 28, 2008</time></li> 
</ul>

我有上面的部分使用..

Element bio = doc.getElementsByClass("vcard-details").first();

有什么办法可以得到“美国爱达荷州考德威尔”的文字?我正在尝试使用类名'ocicon occticon-location',因为我需要单独获取所有这些属性(仅当它们可用时)。

4

3 回答 3

1

您要使用的类的 Span 不包含任何值,因为它在文档中出现文本“Caldwell, Idaho, Usa”之前已关闭。要访问 li 标签的内容,您可以使用下面的代码。然后,您可以操纵字符串以摆脱 Span 标记。

var value = document.querySelector('li.vcard-detail').innerHTML;
于 2014-11-18T07:18:49.667 回答
1

使用 jsoup 的选择器语法

Element first = doc.select("ul.vcard-details > li.vcard-detail").first();
System.out.println(first.text());

输出:

Caldwell, Idaho, USA

有什么办法可以得到文字

是的:text()

于 2014-11-18T17:34:43.607 回答
0

你可以使用下面的代码

document.getElementsByClassName("vcard-detail")[0].innerHTML).split("</span>")[1]
于 2014-11-18T09:30:37.840 回答