当前位置: 首页 > 知识库问答 >
问题:

如何使用JSOUP获得从父级直接下降的子元素?

傅彬
2023-03-14

U使用jsop获取网站。该网站有多个div类,例如:

<div class="itemcategories">
Category: <a id="cat_result_7_newamerican" class="category" rel="newamerican" href="/search?cflt=newamerican&amp;find_loc=willowbrook%2C+IL">American (New)</a>
</div>

<div class="itemcategories">
Categories: 
<a id="cat_result_6_breakfast_brunch" class="category" rel="breakfast_brunch" href="/search?cflt=breakfast_brunch&amp;find_loc=willowbrook%2C+IL">Breakfast & Brunch</a>, 
<a id="cat_result_6_tradamerican" class="category" rel="tradamerican" href="/search?cflt=tradamerican&amp;find_loc=willowbrook%2C+IL">American (Traditional)</a>
</div>

等等。

如果我使用以下查询选择器:

categories = doc.select("div[class=itemcategories] > a[class=category]");

从div class=“itemcategories”父级直接下行的每个子元素都存储在categories Elements对象的下一个索引中。所以我没有办法确定哪个孩子属于哪个父母。有没有一种方法‘串联’每个div类中的所有子级,并将它们保存在Elements对象的单独索引中?

共有1个答案

仲孙阳
2023-03-14

分两步做怎么样?

Elements parents = doc.select("div.itemcategories");
for (Element parent : parents)
{
    Elements categories = parent.select("a.category");
    // do something with categories
}

注意使用.foo而不是[class=foo]选择器语法。

请注意。我不太熟悉JSOUP的API,所以这段代码可能不完全正确。

 类似资料:
  • 问题内容: 在jsoup中,返回Element的所有子代(后代)。但是,我想要Element的一级子级(直系子级)。 我可以使用哪种方法? 问题答案: Element.children()仅返回直接子代。由于您将它们绑定到树上,因此它们也有孩子。 如果需要直接子元素而没有底层树结构,则需要按以下方式创建它们 输出量

  • 本文向大家介绍使用jquery/js获取iframe父子级、同级获取元素的方法,包括了使用jquery/js获取iframe父子级、同级获取元素的方法的使用技巧和注意事项,需要的朋友参考一下 在web开发中,经常会用到iframe,难免会碰到需要在父窗口中使用iframe中的元素、或者在iframe框架中使用父窗口的元素 js 在父窗口中获取iframe中的元素 1、 格式:window.fram

  • index.js Button.js 我的问题是“如何从Button.js到index.js获取标志值”?(儿童对父母)。

  • 这里是表的一部分: 我需要从红色元素中获取url: 我决定使用jsoup库,下面是我尝试做的: 但是这样我就可以得到这个元素和所有的链接。我认为获取所有网址的列表并使用“日期”找到需要的东西不是最聪明的事情。那么,有人能给我一些建议吗,我该如何处理这项任务?

  • 问题内容: 在下面的函数中,我获得带有属性的textarea对象。 此处,嵌套解构使用和变量。但是变量不起作用。 问题答案: 第一个解构仅创建和变量。如果要创建为变量,则需要再次声明。 您可以在Babel编译器上对其进行测试: 这段代码: 被转移到: 如您所见,未创建变量。

  • 我正在使用jsoup HTML解析器,并试图进入span类并从中获取文本,但它什么也不返回,并且其大小始终为零。我粘贴了HTML源代码的一小部分。请帮我提取文本。 我尝试了以下代码: 如果你对我的内容不是很清楚,请问我。提前谢谢。