gpt4 book ai didi

java - 如何使用 JSOUP 从 html 中的 p 标签中提取颜色?

转载 作者:搜寻专家 更新时间:2023-11-01 08:02:47 24 4
gpt4 key购买 nike

    <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代码,需要这样显示:

这是一个标题
我妈妈有眼睛,我爸爸有深绿色眼睛
这是另一个标题
这是一段

下面是我的程序。考虑 Document doc == get above 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.select("p") 和 doc.select("p").first 感到困惑;回复的时候能不能也说明一下?

最佳答案

这是你的意思吗?

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

关于java - 如何使用 JSOUP 从 html 中的 p 标签中提取颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18683520/

24 4 0