繁体   English   中英

使用JSoup选择具有多个类的元素

[英]Selecting Elements that have multiple class whilst using JSoup

我正在从网站解析一些表,特别是我试图通过类名提取以下单元格:

Elements e=d.select("span[class=bld lrg red]");

for (Element element : e) {
System.out.println(element.text());}

这段代码给了我一些价值,这些价值在网站上以Price的形式给出。 但是有些情况下,我想从另一个类别而不是"span[class=bld lrg red]"

我的意思是“bld lrg red”类是空的然后我想从“span [class = price]”取值

在这种情况下如何使用'或'...我的意思是如果“bld lrg red”类具有价值,则取该价格或取“价格”类值。

您也可以使用regex从您的网页中选择所需的元素,使用jsoup ,您可以使用'OR'条件来指定您要查找的内容;

例:

Elements e = d.select("span[class~=(?i)(bld lrg red|price)]");

上面的正则表达式会选择你的span元素, class选择器直接匹配bld lrg red OR price (不区分大小写)。

有关详细信息,请参阅此处: http//jsoup.org/apidocs/org/jsoup/select/Selector.html

现在您可能想要迭代元素并选择哪些不是空白,空,两者等等。

编辑:根据评论, price class不是由span元素持有。 为了克服它,你可以使用:

Elements e = d.select("span[class=bld lrg red],del[class=price]");

暂无
暂无

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

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