使用Jsoup获取所有Html5标签?

时间:2014-06-12 08:53:23

标签: java html5 jsoup

有没有办法用一个命令来获取所有html5tags而不是这样做? :

int h = (doc.getElementsByTag("canvas").size()
                    + doc.getElementsByTag("audio").size()
                    + doc.getElementsByTag("embed").size()
                    + doc.getElementsByTag("source").size()

                        etc.

2 个答案:

答案 0 :(得分:1)

您可以使用select()方法在一个命令中获得相同的结果。此方法允许您指定多个选择器,Jsoup将从文档中返回与任何指定选择器匹配的唯一元素。

例如:

int h = doc.select("canvas, audio, embed, source").size(); 

您可以根据需要添加任意数量的逗号分隔参数(例如,HTML5中引入的所有新元素)。

答案 1 :(得分:1)

你在这里:

all_html5_tags = [ '!DOCTYPE' ,'a' ,'abbr' ,'acronym' ,'address' ,'applet' ,'area' ,'article' ,'aside' ,'audio' ,'b' ,'base' ,'basefont' ,'bdi' ,'bdo' ,'big' ,'blockquote' ,'body' ,'br' ,'button' ,'canvas' ,'caption' ,'center' ,'cite' ,'code' ,'col' ,'colgroup' ,'command' ,'datalist' ,'dd' ,'del' ,'details' ,'dfn' ,'dir' ,'div' ,'dl' ,'dt' ,'em' ,'embed' ,'fieldset' ,'figcaption' ,'figure' ,'font' ,'footer' ,'form' ,'frame' ,'frameset' ,'h1' ,'h2' ,'h3' ,'h4' ,'h5' ,'h6' ,'head' ,'header' ,'hgroup' ,'hr' ,'html' ,'i' ,'iframe' ,'img' ,'input' ,'ins' ,'kbd' ,'keygen' ,'label' ,'legend' ,'li' ,'link' ,'map' ,'mark' ,'menu' ,'meta' ,'meter' ,'nav' ,'noframes' ,'noscript' ,'object' ,'ol' ,'optgroup' ,'option' ,'output' ,'p' ,'param' ,'pre' ,'progress' ,'q' ,'rp' ,'rt' ,'ruby' ,'s' ,'samp' ,'script' ,'section' ,'select' ,'small' ,'source' ,'span' ,'strike' ,'strong' ,'style' ,'sub' ,'summary' ,'sup' ,'table' ,'tbody' ,'td' ,'textarea' ,'tfoot' ,'th' ,'thead' ,'time' ,'title' ,'tr' ,'track' ,'tt' ,'u' ,'ul' ,'var' ,'video' ,'wbr' ]