CSS-Parser-Optionen in Java
Einführung
Entwickler suchen häufig nach einem CSS-Parser in Java stehen vor der Herausforderung, Stile aus HTML-Elementen zu extrahieren. Während die W3C-SAC-Schnittstelle eine Grundlage bietet, kann es schwierig sein, eine umfassende Dokumentation zu finden. Hier finden Sie eine Erkundung möglicher Lösungen und einen detaillierten Code als Leitfaden.
CSS-Parser-Optionen erkunden
Eine bemerkenswerte Option ist CSSParser. Seine Fehlerrückmeldungsfunktionen sind wertvoll, und hier ist ein modifiziertes Codebeispiel als Referenz:
<code class="java">package com.dlogic; 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.*; // Main class 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 { // Access CSS file as a resource InputStream stream = oParser.getClass().getResourceAsStream(cssfile); // Create log file out = new FileOutputStream("log.txt"); if (out != null) { ps = new PrintStream(out); System.setErr(ps); // Redirect stderr to log file } else { return rtn; } // Parse CSS file InputSource source = new InputSource(new InputStreamReader(stream)); CSSOMParser parser = new CSSOMParser(); CSSStyleSheet stylesheet = parser.parseStyleSheet(source, null, null); // Inspect CSS DOM CSSRuleList ruleList = stylesheet.getCssRules(); ps.println("Number of rules: " + ruleList.getLength()); for (int i = 0; i < ruleList.getLength(); i++) { CSSRule rule = ruleList.item(i); if (rule instanceof CSSStyleRule) { CSSStyleRule styleRule = (CSSStyleRule)rule; ps.println("selector:" + i + ": " + styleRule.getSelectorText()); CSSStyleDeclaration styleDeclaration = styleRule.getStyle(); for (int j = 0; j < styleDeclaration.getLength(); j++) { String property = styleDeclaration.item(j); ps.println("property: " + property); ps.println("value: " + styleDeclaration.getPropertyCSSValue(property).getCssText()); ps.println("priority: " + styleDeclaration.getPropertyPriority(property)); } } } if (out != null) out.close(); if (stream != null) stream.close(); rtn = true; } catch (IOException ioe) { System.err.println ("IO Error: " + ioe); } catch (Exception e) { System.err.println ("Error: " + e); } finally { if (ps != null) ps.close(); } return rtn; } }</code>
Testen des CSS-Parsers
Um den Parser zu testen, platzieren Sie ein CSS Datei mit dem Namen „design.css“ in Ihrem Quellverzeichnis und führen Sie die Hauptmethode von CSSParserTest aus. Die Ausgabe wird in „log.txt“ protokolliert und enthält Details zu den CSS-Regeln und -Stilen.
Das obige ist der detaillierte Inhalt vonWie wählt man den besten CSS-Parser in Java aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!