用jSoup解析CSS

amp*_*ent 7 css java parsing jsoup

我试图在Java中解析CSS DOM,并且已经使用jSoup为HTML提供相同的功能.我正在浏览jSoup API(当然还有Google),但没有找到任何与CSS相关的解析类.有没有办法使用jSoup将CSS格式解析为DOM,还是需要不同的API?

Zac*_*ack 3

Jsoup 无法遍历 CSS DOM,尽管您可以通过选择 style/link 标签来访问它。

看看CSS Parser,它看起来很有前途。

    InputSource source = new InputSource(
        new StringReader(
            "h1 { background: #ffcc44; } div { color: red; }"));
    CSSOMParser parser = new CSSOMParser(new SACParserCSS3());
    CSSStyleSheet sheet = parser.parseStyleSheet(source, null, null);
    CSSRuleList rules = sheet.getCssRules();
    for (int i = 0; i < rules.getLength(); i++) {
        final CSSRule rule = rules.item(i);
        System.out.println(rule.getCssText());
    }
Run Code Online (Sandbox Code Playgroud)

输出

h1 { background: rgb(255, 204, 68) }
div { color: red }
Run Code Online (Sandbox Code Playgroud)