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
});
我有一个关注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
});