有没有办法使用Java / JSoup访问html标签的特定属性?

时间:2015-08-04 00:11:02

标签: java html jsoup

例如,代码

Elements linksOnPage = htmlDocument.select("a[href]");

将返回带有href属性的所有标记。但我希望<a>标签中有一个名为 title 的属性,它等于&#39; XXX&#39;。另外,我希望所有{em}标题属性的<span>代码都等于&#39; XXX&#39;此外,希望实际的文本值在span标记内。

有一种简单的方法吗?

3 个答案:

答案 0 :(得分:2)

您只需使用a[title=XXX]span[title=XXX]即可。

如果您想在一个select(..)查询中找到它们,可以通过用逗号分隔多个选择器来对它们进行分组

Elements linksOnPage = htmlDocument.select("a[title=XXX], span[title=XXX]");

如果您想获取由所选标签生成的文字,可以在其上调用text()方法。

您可以在官方教程中找到有关选择器的更多信息:http://jsoup.org/cookbook/extracting-data/selector-syntax

答案 1 :(得分:1)

要检查属性是否与XXX匹配,您可以检查linksOnPage.attr("title")是否等于XXX。可以使用jsoup中的text()函数提取span标记的正文,您可以从outerHtml()函数

获取整个标记

答案 2 :(得分:1)

嗯,根据this documentation

您可以通过以下方式选择XXX个标签: htmlDocument.select("a[title="+XXX+"]");

对于代码中的数据:tag.text()