Das Ziel besteht darin, CSS-Stile für bestimmte Elemente innerhalb eines HTML-Dokuments mithilfe eines Java-CSS zu erhalten parser.
CSSParser
Eine empfohlene Option ist CSSParser, ein robuster Parser, der Fehlerrückmeldungen bietet. Nachfolgend finden Sie ein Beispiel für die Verwendung:
import com.steadystate.css.parser.CSSOMParser;
import org.w3c.css.sac.InputSource;
import org.w3c.dom.css.CSSStyleSheet;
import org.w3c.dom.css.CSSRuleList;
import org.w3c.dom.css.CSSRule;
import org.w3c.dom.css.CSSStyleRule;
import org.w3c.dom.css.CSSStyleDeclaration;
import java.io.*;
public class CSSParserTest {
public static void main(String[] args) {
CSSParserTest oParser = new CSSParserTest();
if (oParser.Parse("design.css")) {
System.out.println("Parsing completed OK");
} else {
System.out.println("Unable to parse CSS");
}
}
public boolean Parse(String cssfile) {
FileOutputStream out = null;
PrintStream ps = null;
boolean rtn = false;
try {
InputStream stream = oParser.getClass().getResourceAsStream(cssfile);
out = new FileOutputStream("log.txt");
if (out != null) {
ps = new PrintStream(out);
System.setErr(ps); //redirects stderr to the log file as well
} else {
return rtn;
}
InputSource source = new InputSource(new InputStreamReader(stream));
CSSOMParser parser = new CSSOMParser();
CSSStyleSheet stylesheet = parser.parseStyleSheet(source, null, null);
CSSRuleList ruleList = stylesheet.getCssRules();
ps.println("Number of rules: " ruleList.getLength());
for (int i = 0; i Dieses Beispiel zeigt, wie eine CSS-Datei analysiert und Stilinformationen für jeden Selektor und jede Eigenschaft, einschließlich ihrer Werte und Prioritäten, extrahiert werden.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3