Java 如何使用jsoup从网页获取子类

Java 如何使用jsoup从网页获取子类,java,html,css,jsoup,Java,Html,Css,Jsoup,我正在使用jsoup从这样的网页中查找类 Document doc = null; try { doc = Jsoup.connect(strings[0]).get(); // Get document (HTML page) title String title = doc.title(); // Get meta info Elements

我正在使用jsoup从这样的网页中查找类

        Document doc = null;
        try {
            doc = Jsoup.connect(strings[0]).get();
            // Get document (HTML page) title
            String title = doc.title();
            // Get meta info
            Elements metaElems = doc.select("div");
            for (Element metaElem : metaElems) {

                if (metaElem.hasClass("job-title")){
                    System.out.println("found a job  " + "\r\n" + metaElem.toString() ); //this works finds all job titles and links
                }
                if (metaElem.hasClass("detail-body")){
                    System.out.println("detail-body " + "\r\n" + metaElem.toString() ); //this works finds all job titles and links
                }

            }
        } catch (IOException e) {
            e.printStackTrace();
        }
<li class="location"> 
现在,我想在细节体中获得如下所示的子类(请参见下面的代码片段

        Document doc = null;
        try {
            doc = Jsoup.connect(strings[0]).get();
            // Get document (HTML page) title
            String title = doc.title();
            // Get meta info
            Elements metaElems = doc.select("div");
            for (Element metaElem : metaElems) {

                if (metaElem.hasClass("job-title")){
                    System.out.println("found a job  " + "\r\n" + metaElem.toString() ); //this works finds all job titles and links
                }
                if (metaElem.hasClass("detail-body")){
                    System.out.println("detail-body " + "\r\n" + metaElem.toString() ); //this works finds all job titles and links
                }

            }
        } catch (IOException e) {
            e.printStackTrace();
        }
<li class="location"> 
不起作用,我认为这是因为它是一个细节主体类的子类,但我对它相当陌生,所以可能是错误的下面是从上面的代码中打印出来的一个片段(一次迭代),有人告诉我如何在不玩子字符串的情况下获取内部信息吗(并不是说我反对,我只是希望一切都井然有序,如果这是唯一的方法,我可以使用子字符串)

找到了一份工作
细节主体
应用
  • ,WR1 1UK
  • 工资范围从9英镑到10英镑 每小时磅数
    合同
  • 今天
DriveForce目前正在招聘2级员工 在Kidderminster工作的司机!司机职责包括 去 处理机密文件的各个位置。待 深思熟虑的司机 必须持有2级驾照2年或更长时间,并且 不再 他们的执照上的分数超过6分…

发送 拯救
JSoup允许您选择具有给定类的特定类型的所有元素

你在问题中说

我希望在细节主体中获得子类(参见下面的代码片段),如下所示
  • 下面的选择器将查找所有类型为
    li
    且具有类
    location
    的元素,无论这些元素是否嵌套

    Document doc = Jsoup.parse(html);
    
    Elements elements = doc.select("li.location");
    for (int i = 0; i < elements.size(); i++) {
        System.out.println(elements.get(i).text());
    }
    

    哇,谢谢你的快速回复,但是如果我只想要嵌套的呢?我已经用一个例子更新了答案,展示了如何为特定的父母/子女关系进行选择。更多的细节。谢谢你我浏览了文档(承认很简短),老实说,我也可能读过希腊语,但谢谢你的例子
    Elements elements = doc.select("ul.header-list > li.location");