繁体   English   中英

Jsoup-获取仅具有指定属性及其值的HTML标记

[英]Jsoup - getting a HTML tag with ONLY the specified attributes and its values

我想使用jsoup只有一些特定属性和值的页面中提取元素。 我经历了以下提到的方法,但没有一个能很好地解决我的目的:

  1. Jsoup的getElementsByAttributesMatching

  2. 选择查询的格式:

     doc.select("table[width=100%]").select("table[cellpadding=0]").select("table[cellspacing=0]"); 
  3. 这也是:

     doc.select("table[width=100%][cellpadding=0][cellspacing=0]"); 

当我使用这些方法时,我得到的元素具有我提到的属性以及其他属性。 我想要的是仅具有指定属性的元素。

有办法让这个杂念通过吗?

您的选择器已经为这3个属性选择了具有特定值的元素。 因此,该元素至少具有3个属性。 但是,如果它恰好具有3个属性,则这些属性就是您指定的属性。

for (Element el: doc.select("table[width=100%][cellpadding=0][cellspacing=0]"))
    if (el.attributes().size() == 3)
        // Do something

Document doc = Jsoup.parse(
    "<table width=100% cellpadding=0 cellspacing=0>OK</table>" +
    "<table width=100% cellpadding=0 cellspacing=0 height=100%>NO</table>");

for (Element el: doc.select("table[width=100%][cellpadding=0][cellspacing=0]"))
    if (el.attributes().size() == 3)
        System.out.println(el.text());

产量

OK

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM