0

我正在尝试在 java 项目中使用CSS Parser从文本输入的字符串中提取 CSS 规则/DOM。

我遇到的所有示例都将 css 文件作为输入。有没有办法绕过文件读取并直接处理css文件的字符串内容。

因为我正在处理的类只获取 css 文件的字符串内容,并且所有的读取都已经处理好了。

现在我有这个,其中'cssfile'是正在解析的css文件的文件路径。

InputStream stream = oParser.getClass().getResourceAsStream(cssfile);
InputSource source = new InputSource(new InputStreamReader(stream));
CSSOMParser parser = new CSSOMParser();
CSSStyleSheet stylesheet = parser.parseStyleSheet(source, null, null);
CSSRuleList ruleList = stylesheet.getCssRules();  
System.out.println("Number of rules: " + ruleList.getLength());

参考链接

4

1 回答 1

0

我发现的一种解决方法是使用带有内容的 StringReader 创建一个 Reader,并为 Input 源设置 characterStream。但是应该有更好的方法来做到这一点..

InputSource inputSource = new InputSource();
Reader characterStream = new StringReader(cssContent);
inputSource.setCharacterStream(characterStream);
CSSStyleSheet stylesheet = cssParserObj.parseStyleSheet(source, null,
            null);
CSSRuleList ruleList = stylesheet.getCssRules();
于 2014-08-21T18:14:30.827 回答