列出String中的HTML标记

时间:2012-03-05 11:57:25

标签: java html parsing tags

我有一个字符串,我想从中列出其中的所有HTML标记。有没有可以从事这项工作的图书馆?

任何信息都对我很有帮助。

4 个答案:

答案 0 :(得分:1)

您可以尝试http://jsoup.org/ 不确定它是否允许获取标签列表,但您可以获取迭代DOM的列表。

答案 1 :(得分:1)

您可以使用以下代码仅从String中提取HTML标记。

    package com.overflow.stack;

    /**
     *
     * @author sarath_sivan
     */

    public class ExtractHtmlTags {

        public static void getHtmlTags(String html) {
            int beginIndex = 0;
            while(beginIndex!=-1) {
                beginIndex = html.indexOf("<", 0);
                int endIndex = html.indexOf(">", beginIndex+1);
                String htmlTag = "";
                try {
                    if(beginIndex!=-1) {
                        htmlTag = html.substring(beginIndex, endIndex+1);
                    }
                } catch(Exception e) {
                    e.printStackTrace();
                }
                System.out.println(htmlTag);
                html = html.substring(endIndex+1, html.length());
            }
        }

        public static void main(String[] args) {
            String html = "<html><body><h2>List HTML tags from a String</h2>hello<br /></body></html>";
            ExtractHtmlTags.getHtmlTags(html);
        }

    }

但是,我不明白你要用提取的HTML标签做什么。祝你好运!

答案 2 :(得分:0)

HTMLUnit中的解析器可以获取String并返回结构化结果:

http://htmlunit.sourceforge.net/apidocs/com/gargoylesoftware/htmlunit/html/HTMLParser.html

答案 3 :(得分:0)

page = Nokogiri::HTML(open('http://yoursite.com'))
page.css("*").map{|x| x.name}.flatten.uniq