java - Jsoup 解析包含 span 标签的 HTML

标签 java parsing jsoup

我有一些具有以下格式的 HTML:

<article class="cik" id="100">
  <a class="ci" href="/abc/1001/STUFF">
    <img alt="Micky Mouse" src="/images/1001.jpg" />
    <span class="mick vtEnabled"></span>
  </a>

  <div>
    <a href="/abc/1001/STUFF">Micky Mouse</a>
    <span class="FP">$88.00</span>&nbsp;&nbsp;<span class="SP">$49.90</span>
  </div>
</article>

在上面的代码中<a>文章内的标签有一个跨度 class="mick vtEnabled"没有标签。我想检查带有指定类名的 span 标记是否存在于文章标记中。

我该怎么做?我尝试select("> a[href] > span.mick vtEnabled")并检查了尺寸。无论是否设置,所有文章标签都保持为 0。有任何输入吗?

最佳答案

从单独的 article 标签开始会很好:

final String test = "<article class=\"cik\" id=\"100\"><a class=\"ci\" href=\"/abc/1001/STUFF\"><img alt=\"Micky Mouse\" src=\"/images/1001.jpg\" /></a><div><a href=\"/abc/1001/STUFF\">Micky Mouse</a><span class=\"FP\">$88.00</span>&nbsp;&nbsp;<span class=\"SP\">$49.90</span></div></article>";
final Elements articles = Jsoup.parse(test).select("article");
for (final Element article : articles) {
    final Elements articleImages = article.select("> a[href] > img[src]");
    for (final Element image : articleImages) {
        System.out.println(image.attr("src"));
    }
    final Elements articleLinks = article.select("> div > a[href]");
    for (final Element link : articleLinks) {
        System.out.println(link.attr("href"));
        System.out.println(link.text());
    }
    final Elements articleFPSpans = article.select("> div > span.FP");
    for (final Element span : articleFPSpans) {
        System.out.println(span.text());
    }
}
    final Elements articleSPSpans = article.select("> div > span.SP");
    for (final Element span : articleSPSpans) {
        System.out.println(span.text());
    }
}

打印:

/images/1001.jpg
/abc/1001/STUFF
Micky Mouse
$88.00
$49.90

关于java - Jsoup 解析包含 span 标签的 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8948065/

相关文章:

java - 带有 AWTEventListener 的全局事件监听器以及如何从中提取 MouseEvent

java - Jsoup 不是选择器不返回结果

具有多个增量器的 Java for 循环

java - 将我的客户端 PC 重定向到默认登录页面

java - Spring 启动 API

php - 解析 XML 并回显结果

parsing - 动态 (?) 解析器

java - 解析 KML 文档时 publicId 和 systemId 之间需要空格

java - 如何使用jsoup设置jsessionid cookie?

java - 如何将 html 片段注入(inject)到包含有效 html 的字符串中?