我正在使用 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>
在网络浏览器中看起来像这样:
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();
它还包含用户名和网站???
最佳答案
你总是可以像这样删除 user
和 website
元素(你可以克隆你的 submitted
元素如果您不希望删除操作“损坏”您的文档):
public static void main(String[] args) throws Exception {
Document content = Jsoup.parse(
"<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> ");
// create a clone of the element so we do not destroy the original
Element submitted = content.getElementsByClass("submitted").first().clone();
// remove the elements that you do not need
submitted.getElementsByTag("strong").remove();
submitted.getElementsByClass("via").remove();
// print the result (demo)
System.out.println(submitted.text());
}
输出:
on 27/09/2011 - 15:17
关于java - 如何获取 DOM 对象中两个元素之间的文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7568433/