CSS-парсер, анализирующий содержимое строки

Я пытаюсь использовать CSS Parser в Java-проекте для извлечения 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());

Ссылка ссылка

1 ответ

Решение

Обходной путь, который я нашел, состоял в том, чтобы создать Reader, используя StringReader с содержимым, и установить characterStream для источника ввода. Но должен быть лучший способ сделать это..

InputSource inputSource = new InputSource();
Reader characterStream = new StringReader(cssContent);
inputSource.setCharacterStream(characterStream);
CSSStyleSheet stylesheet = cssParserObj.parseStyleSheet(source, null,
            null);
CSSRuleList ruleList = stylesheet.getCssRules();
Другие вопросы по тегам