Друзья Я использую cssparser для разбора моего CSS. Мой код выглядит так:Что касается cssparser
public static Map<String, CSSStyleRule> parseCSS1() throws IOException {
Map<String, CSSStyleRule> rules = new LinkedHashMap<String, CSSStyleRule>();
InputSource inputSource = new InputSource(new FileReader("C:\\COMPUTERS.css"));
CSSStyleSheet styleSheet = new CSSOMParser().parseStyleSheet(inputSource, null, null);
CSSRuleList ruleList = styleSheet.getCssRules();
for (int i = 0; i < ruleList.getLength(); i++) {
CSSRule rule = ruleList.item(i);
if (rule.getType() == CSSRule.STYLE_RULE) {
CSSStyleRule styleRule = (CSSStyleRule) rule;
rules.put(styleRule.getSelectorText(), styleRule);
}
}
return rules;
}
Теперь после разбора, когда я пытаюсь напечатать значение в CSS (rules.getvalues()
) дает такой результат:
BODY { font-family: monospace;
color: black;
font-size: medium;
font-style: normal;
font-weight: normal;
background-color: rgb(255, 182, 193);
background-image: url(images/COMPUTERSbody_computers.gif);
border: no }
В последней строке нет запятой после border:no
и в исходном CSS он присутствует.
Итак, следует ли вручную добавить эту точку с запятой или я ошибаюсь?
Кроме того, в оригинальной CSS:
background-color: #FFB6C1
ли заменен:
background-color: rgb(255, 182, 193);
в разобранном выходе. Есть ли способ сохранить оригинал, какой он есть?