Jsoup: get all heading tags

Tropicalista picture Tropicalista · Oct 20, 2012 · Viewed 11.5k times · Source

I'm trying to parse an html document with Jsoup to get all heading tags. In addition I need to group the heading tags as [h1] [h2] etc...

     hh = doc.select("h[0-6]");

but this give me an empty array.

Answer

ollo picture ollo · Oct 21, 2012

Your selector means h-Tag with attribute "0-6" here - not a regex. But you can combine multiple selectors instead: hh = doc.select("h0, h1, h2, h3, h4, h5, h6");.

Grouping: do you need a group with all h-Tags + a group for each h1, h2, ... tag or only a group for each h1, h2, ... tag?

Here's an example how you can do this:

// Group of all h-Tags
Elements hTags = doc.select("h1, h2, h3, h4, h5, h6");

// Group of all h1-Tags
Elements h1Tags = hTags.select("h1");
// Group of all h2-Tags
Elements h2Tags = hTags.select("h2");
// ... etc.

If you want a group for each h1, h2, ... tag you can drop first selector and replace hTags with doc in the others.