gpt4 book ai didi

java - 如何获取 DOM 对象中两个元素之间的文本?

转载 作者:行者123 更新时间:2023-11-28 00:23:14 24 4
gpt4 key购买 nike

我正在使用 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();

它还包含用户名和网站???

最佳答案

你总是可以像这样删除 userwebsite 元素(你可以克隆你的 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com