当前位置: 首页 > 知识库问答 >
问题:

如何使用JSOUP从html的p标记中提取span中的颜色?

邬博涉
2023-03-14
    <h2>This is a heading</h2>
        <p>My mother has 
        <span style="color:blue;font-weight:bold">blue</span>
        eyes and my father has 
        <span style="color:darkolivegreen;font-weight:bold">
        dark green</span> 
        eyes.</p>
<h3>This is another heading<h3>
<p>This is a paragraph</p>

“我妈妈有一双蓝眼睛,我爸爸有一双深绿色的眼睛”。我想用JSOUP解析这个句子,并在android textview上用粗体和彩色文本打印出来。这里的“蓝色”是大胆的蓝色。“深绿色”是大胆的颜色。

我需要解析上述html代码,并需要如下显示:

这是一个标题
我母亲有蓝色的眼睛,我父亲有深绿色的眼睛
这是另一个标题
这是一段

下面是我的程序。考虑到文档doc==获取上面的html;

    Elements eHeadder = doc.select("*");
    for (Element eHead : eHeadder) {
    String tag = eHead.tagName();
    if (tag.equals("p")) {
    String pText = eHead.text();
    tv.setText(pText);
    }else if(tag.equals("h2")){
      String pText = eHead.text();
      tv.setText(pText);
      }else if(tag.equals("h3")){
      String pText = eHead.text();
      tv.setText(pText);
      }
   }
  1. 有人能帮我解决吗
  2. 我对使用doc感到困惑。选择(“p”)和文档。选择(“p”)。第一你能在答复时也解释一下吗

共有1个答案

叶光华
2023-03-14

这就是你所认为的吗?

public static void main(final String[] args)
{
    final String html = "<p>My mother has\n" +
            "<span style=\"color:blue;font-weight:bold\">blue</span>\n" +
            "eyes and my father has\n" +
            "<span style=\"color:darkolivegreen;font-weight:bold\">\n" +
            "dark green</span>\n" +
            "eyes.</p>\n" +
            "<h2>Mr. <span style=\"color:green\">Foobar</span></h2>";

    final Document document = Jsoup.parse(html);

    final Elements textNodes = document.select("p,h2");

    for (final Element element : textNodes)
    {
        System.out.println("Found: " + element.text());

        System.out.println("\t Neasted Spawns:");
        for (final Element span : element.select("span"))
        {
            System.out.println("\t\t css: " + span.attr("style"));
        }
    }
}

它将打印:

Found: My mother has blue eyes and my father has dark green eyes.
     Neasted Spawns:
         css: color:blue;font-weight:bold
         css: color:darkolivegreen;font-weight:bold
Found: Mr. Foobar
     Neasted Spawns:
         css: color:green
 类似资料:
  • 我有这个html 并且,我试图得到每个标签的href。 例如,

  • 需要从以下来源提取信息: 试过: 得到0个结果。问题只出在跨类上。JSOUP 1.7.2。

  • 我要提取的数据来自这个网站https://www.adobe.com/support/security/advisories/apsa11-04.html。我只想提取 发布日期:2011年12月6日最后更新:2012年1月10日漏洞标识符:APSA11-04 CVE编号:CVE-2011-2462 代码: 输出: 我不想要这些信息。我该如何过滤呢? 平台:全部*注意:Adobe Reader fo

  • 我已经成功地在一个分隔符中获取了如下所示的文本:

  • 问题内容: 当我使用jsoup提取数据时遇到一个职位。数据如下: 我想要这样的数据: 我怎样才能做到这一点?谁能帮我? 问题答案: 您可以将html解析为,选择-Element并获取其文本。 例: 输出:

  • 嗨,我有一个html文件解析的场景。我正在使用jsoup解析html文件,解析后我想提取头标记(h1、h3、h4)。我用过医生。select()但它将只返回标题标记值,但我的要求是我应该提取h1到h3或h4之间的标记,反之亦然。 所以这里首先搜索html字符串是否包含任何H1,H3,H4。这里我们有h4,所以包括h4,它应该搜索下一个h1或h3,直到h3我们提取字符串并把它放在一个单独的html文