JEdi​​torPane:获取HTML元素的class属性

时间:2013-06-05 21:59:05

标签: java html swing jeditorpane htmleditorkit

所以我有一个JEditorPane来显示HTML页面。我编写了代码来通过id检索HTML元素。我无法获得它们的属性。

例如,HTML页面中有<span id="0" class="insert">abc</span>。我希望获得类名insert,并给出其ID。

我的代码看起来像这样,

    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元素的class属性?

谢谢!

1 个答案:

答案 0 :(得分:1)

我认为问题在于您传递给 getAttribute 方法的参数。您必须使用 HTML.Attribute.CLASS ,而不是字符串“class”。因此,最后一行代码将为:

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

类似的问题:How do I retrieve the attribute of an element using Swing's HTMLEditorKit.ParserCallback?

如果您需要处理其他属性,请查看HTML.Attribute class的API文档。