所以我有一个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属性?
谢谢!
答案 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文档。