我使用JSoup来解析这个HTML内容:
<div class="submitted">
<strong><a title="View user profile." href="/user/1">user1</a></strong>
on 27/09/2011 - 15:17
<span class="via"><a href="/goto/002">www.google.com</a></span>
</div>
在Web浏览器中看起来如下所示:
user1 on 27/09/2011 - 15:17 www.google.com
用户名和网站可以解析为变量使用:
String user = content.getElementsByClass("submitted").first().getElementsByTag("strong").first().text();
String website = content.getElementsByClass("submitted").first().getElementsByClass("via").first().text();
但我不确定如何将“on 27/09/2011 -15:17”放入变量中,如果我使用
String date = content.getElementsByClass("submitted").first().text();
它还包含用户名和网站???
3条答案
按热度按时间cmssoen21#
你总是可以像这样删除
user
和website
元素(如果你不想删除操作"损坏"你的文档,你可以克隆你的submitted
元素):vjhs03f72#
然后可以解析得到字符串。
然后你可以像这样构造你想要的字符串:
这将提取您需要的字符串。
qlckcl4x3#
选择要抓取的文本之前的元素,然后获取它的下一个兄弟节点 node(不是元素),这是一个文本节点:
你也可以直接向元素询问它的子文本节点和索引(尽管通过兄弟节点引用节点通常比索引更健壮):