„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie extrahiere ich CSS-Stile für bestimmte Elemente in einem HTML-Dokument mithilfe eines Java-CSS-Parsers?

Wie extrahiere ich CSS-Stile für bestimmte Elemente in einem HTML-Dokument mithilfe eines Java-CSS-Parsers?

Veröffentlicht am 23.11.2024
Durchsuche:938

How do I extract CSS styles for specific elements in an HTML document using a Java CSS parser?

CSS-Parser für Java

Anforderung

Das Ziel besteht darin, CSS-Stile für bestimmte Elemente innerhalb eines HTML-Dokuments mithilfe eines Java-CSS zu erhalten parser.

Lösung

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.

Neuestes Tutorial Mehr>

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