如何使用jsoup通过id查找子html元素?

时间:2016-02-21 11:26:02

标签: html search jsoup element

我正在使用Jsoup解析一个站点的html代码。我需要找到一些具有特定id的html元素,但是它们的父树正在使我的任务复杂化。所以我想知道是否有可能搜索特定的html元素而不必首先搜索他们所有的父母。

例如我正在做下一个:

__attribute__((section(".custom"))) static const int data = 123;
__attribute__((section(".custom"))) static const int inline_data = 123;

const int* get_data()
{
  return &data;
}

inline const int* inline_get_data()
{
  return &inline_data;
}

int main()
{
  (void)get_data();
  (void)inline_get_data();
} 

我想知道是否有一种简单的方法可以获得与此代码搜索相同的元素

1 个答案:

答案 0 :(得分:0)

html元素的id在页面中应该是唯一的。你在野外发现的一些HTML很难打破这个要求。但是,如果你的html源遵循标准,你可以简单地使用# css运算符来选择有问题的元素:

 Element el = doc.select("#someID").first();

或者,您可以直接使用getElmentById Jsoup方法:

Element el = doc.getElmentById("someID");

此外,如果你决定按照你在问题中的建议选择类名,很容易将所有选择合并到一个选择器中:

Elements els = elements.select(".scroller.context-inplay .zone.grid-1-1 .grid-1 .module-placeholder");

CSS选择器中的空格意味着空间右边的任何子选择器必须是左侧东西的子节点。