Jsoup如何选择具有多个属性的标签

时间:2012-12-04 12:40:18

标签: html parsing jsoup

我有一个表格标签

<table width="100%" align="center"/>

到目前为止Jsoup提供了

Document document =Jsoup.parse(htmlString);
document.select("table[width=100%],table[align=center]");

这是OR命令,即如果任何一个匹配则填充元素。 为了选择宽度= 100%且对齐=中心的表,我已经完成了以下

Elements element =document.select("table[align=center]");
element =element.select("table[width=100%]");

所以我要问的是,就像这个OR组合

document.select("table[width=100%],table[align=center]");

是否有任何AND组合选择器,即宽度= 100%且对齐=中心的表。 提前致谢

2 个答案:

答案 0 :(得分:20)

您可以通过向选择器添加更多字词来实现与一个查询的AND。在这种情况下:

Elements tables = document.select("table[width=100%][align=center]");

作品。

您可以继续添加更多字词,以使其尽可能精确,例如: table[width=100%][align=center]:contains(text)

答案 1 :(得分:3)

目前(Jsoup 1.7.1),选择器没有 AND 。但是你可以用两个select()来完成这个(就像在你的例子#2中一样):

Elements tables = document.select("table[width=100%]").select("table[align=center]");

您还可以发布功能请求:https://github.com/jhy/jsoup/issues