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();