JSOUP - найти элементы, начинающиеся с - PullRequest
0 голосов
/ 13 марта 2020

У меня есть следующее 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, но, похоже, нет способа сопоставить data-* способом JSOUP (например, использовать XPath). Есть ли способ сопоставить эти теги через JSOUP.

1 Ответ

0 голосов
/ 13 марта 2020

К сожалению, невозможно использовать запросы XPath в JSOUP. Единственный способ, который я понял, заключается в следующем:

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
});

...