Android 如何使用Jsoup获取直接从父元素派生的子元素?

Android 如何使用Jsoup获取直接从父元素派生的子元素?,android,jsoup,Android,Jsoup,使用Jsoup获取网站。该网站有多个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>

使用Jsoup获取网站。该网站有多个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>

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

分两步进行如何

Elements parents = doc.select("div.itemcategories");
for (Element parent : parents)
{
    Elements categories = parent.select("a.category");
    // do something with categories
}
注意使用
.foo
而不是
[class=foo]
选择器语法


N.B.我对jsoup的API不太熟悉,因此此代码可能不完全正确。

除了@Matt Ball solution之外,我还想出了一个步骤解决方案:

// Select the parent's
categories = doc.select(".itemcategories");
然后只需使用children()方法获取子对象,使用text()方法获取所需文本:

categories.get(counter).children().text();

谢谢你的及时回复。它帮助我创建了另一个一步解决方案。好吧,我不会确切地称之为一步
:P
categories.get(counter).children().text();