Jsoup div 语法有效,而div.class语法没有 – 为什么?

对于以下HTML代码段:

some inner content

以下Jsoup选择器工作

 div[class=class_one class_two class_three classfour classfive classsix] 

但是等效的div.class语法不起作用

 div.class_one.class_two.class_three.classfour.classfive.classsix 

为什么? 我错过了什么?

编辑 :根据我在下面收到的反馈,我意识到我没有解释什么“不起作用”的意思。 这是因为我对多类选择语法的工作原理感到困惑。 通过“不工作”我的意思是上面的.classname语法选择了比class=classname语法太多的div(具有相同的类名和相同的顺序!),因为有问题的HTML包含额外的div一个7级的名字……事实certificate这是设计的 。 这就是我所缺少的,感谢@Hovercraft Full Of Eels和@BalusC帮助我发现这一点。

同样,根据我的评论,您需要在上下文中向我们展示您的代码,以显示它是如何工作的。

例如,当我尝试分析这个简单的文本时:

    
some inner content

使用此代码:

 import java.io.IOException; import java.util.Scanner; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.select.Elements; public class Foo { public static void main(String[] args) throws IOException { Scanner scan = new Scanner(Foo.class.getResourceAsStream("Foo.txt")); String text = ""; while (scan.hasNextLine()) { text += scan.nextLine() + "\n"; } Document doc = Jsoup.parse(text); Elements eles = doc.select("div.class_one.class_two.class_three.classfour.classfive.classsix"); System.out.println(eles); } } 

我得到这个结果:

 
some inner content

建议您对select的使用应该有效,如果它不起作用,可能会发生其他事情。 你最好的选择可能是做我刚刚做的事情:发布一些数据和一些可编译的可运行代码(一个SSCCE ),让它显示你的代码是如何工作的。