java - Jsoup:获取文本和网址

标签 java android html html-parsing jsoup

我有这个 HTML block :

<div class="singolo-contenuto link_azure">
<p>I'm a TEXTXXXXXXXXXXXXXXXX<p>
<a href="http://example.com">Name of URL</a></p></p>
<ul class="list_attachments"><li><a    
href="DON'T TOUCH"><img src='/img/fileicons/file.png' alt='file'/> TITLE</a></li></ul> 
</div>
<div class="clear"></div>

实际上我正在使用以下内容获取文本:

 document.select(".singolo-contenuto").text();

这又回到了我的身边: “我是 TEXTXXXXXXXXXXXXXXXX URL 名称”。无法获取“我是 TEXTXXXXXXXXXXXXXXXX http://example.com URL 名称”吗?

在所有页面中并不总是相同。 我只确定文本和 href 将位于“”singolo-contenuto link_azure”类中。

最佳答案

您可以根据需要用文本替换所有链接,然后调用 .text()

伪代码:

for (Element elem : document.select(".singolo-contenuto a")) {
    if(elem.parents().hasClass("list_attachments")) continue;
    String href = elem.attr("href");
    String text = elem.text();
    elem.replaceWith(new TextNode(href + " " + text, ""));
}
String result = document.select(".singolo-contenuto").text();

关于java - Jsoup:获取文本和网址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30464155/

相关文章:

java - 如何在一行中将数​​组连接到字符串(Java)?

java - Android Gradle 构建因缓存文件失败

android - 错误 : null is not an object (evaluating 'C.State' ) <unknown> index. android.bundle

android - 此 IP、站点或移动应用程序无权使用此 API key 。从 IP 地址收到的请求

html - 下拉菜单 CSS

java - 寻找大O复杂性。三种算法

java - 加载不需要的 Java 类

java - 在android中下载zip文件

html - DIV 填充可用空间

javascript - 我怎样才能扩展和收缩一个元素,使其在收缩状态下始终位于另一个元素之上?