「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > Java CSS パーサーを使用して HTML ドキュメント内の特定の要素の CSS スタイルを抽出するにはどうすればよいですか?

Java CSS パーサーを使用して HTML ドキュメント内の特定の要素の CSS スタイルを抽出するにはどうすればよいですか?

2024 年 11 月 23 日に公開
ブラウズ:571

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

Java 用 CSS パーサー

要件

目的は、Java CSS を使用して HTML ドキュメント内の特定の要素の CSS スタイルを取得することです。 parser.

Solution

CSSParser

推奨されるオプションは、エラー フィードバックを提供する堅牢なパーサーである CSSParser です。以下はその使用例です。

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 

このサンプルは、CSS ファイルを解析し、各セレクターとプロパティの値と優先順位を含むスタイル情報を抽出する方法を示します。

最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3