0

したがって、HTML ページを表示するための JEditorPane があります。ID で HTML 要素を取得するコードを作成しました。それらの属性を取得するのに問題があります。

たとえば<span id="0" class="insert">abc</span>、HTMLページにあります。insertID を指定して、クラス名を取得したい。

私のコードは次のようになります。

    HTMLDocument html = (HTMLDocument) jeditor.getDocument();
    String id = "0";

    // make sure this id exists
    if ((elem = html.getElement(id)) != null) { 
        // get the name of class in span element
        String className = (String) elem.getAttributes().getAttribute("class");
        ...
    }

これはうまくいきません。ただし、elem.getAttributes()次のように返されます。

LeafElement(content) 15,16

これは、HTML 要素の一連の属性とは異なります。HTML 要素のクラス属性を取得するにはどうすればよいですか?

ありがとう!

4

1 に答える 1

1

getAttributeメソッドに渡すパラメータに問題があると思います。文字列"class"の代わりに、 HTML.Attribute.CLASSを使用する必要があります。したがって、コードの最後の行は次のようになります。

String className = (String) elem.getAttributes()
                                .getAttribute(HTML.Attribute.CLASS);

同様の質問: Swing の HTMLEditorKit.ParserCallback を使用して要素の属性を取得するにはどうすればよいですか?

他の属性を扱う必要がある場合は、HTML.Attribute クラスの API ドキュメントも参照してください。

于 2013-10-31T16:35:15.287 に答える