JSOUP - 查找以开头的元素

JSOUP - find elements starting with

我有一个关注HTML:

<data-my-tag>
  <data-another-tag>
    <p>...</p>
    <data-my-tag>
      <span>...</span>
    </data-my-tag>
  </data-another-tag>
</data-my-tag>

我用JSOUP解析,我想匹配所有以<data-开头的元素。

我只找到了匹配 getElementsByTag 的方法,它按整个标签名称匹配。此外 select 方法仅执行 css 选择器,但似乎无法以 JSOUP 方式匹配 data-* (例如使用 XPath)。有什么方法可以通过 JSOUP 匹配这些标签吗?

遗憾的是,无法在 JSOUP 中使用 XPath 查询。我想出的唯一方法如下:

Document doc = Jsoup.parse(content);
Elements elements = doc.select("*");

elements.stream().filter(e -> e.nodeName().startsWith("data-")).forEach(e -> {
    // do what you need with the node
});