如何使用 jsoup 通过 id 查找子 html 元素?
How to find a child html element by id with jsoup?
我正在用 Jsoup 解析一个站点的 html 代码。我需要找到一些具有特定 id 的 html 元素,但它们的父树使我的任务复杂化。所以我想知道是否可以搜索特定的 html 元素而不必先搜索其所有父元素。
例如我正在做下一个:
Elements el=elements.select(".scroller.context-inplay").select(".zone.grid-1-1").select(".grid-1").select(".module-placeholder");
我想知道是否有一种简单的方法可以获取与我通过此代码通过其 id 搜索得到的相同元素
html 元素的 ID 在页面中应该是唯一的。不幸的是,您在野外发现的一些 html 打破了这一要求。但是,如果您的 html 来源遵循标准,您可以简单地使用 #
css 运算符来 select 有问题的元素:
Element el = doc.select("#someID").first();
或者您可以直接使用 getElmentById Jsoup 方法:
Element el = doc.getElmentById("someID");
此外,如果您决定按照您在问题中建议的 class 名称,很容易将所有 select 组合成一个 select 或:
Elements els = elements.select(".scroller.context-inplay .zone.grid-1-1 .grid-1 .module-placeholder");
CSSselector中的space表示select或space的任何子select或右边必须是child 左边的东西。
我正在用 Jsoup 解析一个站点的 html 代码。我需要找到一些具有特定 id 的 html 元素,但它们的父树使我的任务复杂化。所以我想知道是否可以搜索特定的 html 元素而不必先搜索其所有父元素。
例如我正在做下一个:
Elements el=elements.select(".scroller.context-inplay").select(".zone.grid-1-1").select(".grid-1").select(".module-placeholder");
我想知道是否有一种简单的方法可以获取与我通过此代码通过其 id 搜索得到的相同元素
html 元素的 ID 在页面中应该是唯一的。不幸的是,您在野外发现的一些 html 打破了这一要求。但是,如果您的 html 来源遵循标准,您可以简单地使用 #
css 运算符来 select 有问题的元素:
Element el = doc.select("#someID").first();
或者您可以直接使用 getElmentById Jsoup 方法:
Element el = doc.getElmentById("someID");
此外,如果您决定按照您在问题中建议的 class 名称,很容易将所有 select 组合成一个 select 或:
Elements els = elements.select(".scroller.context-inplay .zone.grid-1-1 .grid-1 .module-placeholder");
CSSselector中的space表示select或space的任何子select或右边必须是child 左边的东西。