2013-06-05 4 views
0

HTML 페이지를 표시하는 JEditorPane가 있습니다. ID로 HTML 요소를 검색하는 코드를 작성했습니다. 나는 그 (것)들의 속성을 얻기에있는 말썽이있다.JEditorPane : HTML 요소의 클래스 속성을 취득한다

예를 들어 HTML 페이지에 <span id="0" class="insert">abc</span>이 있습니다. Id가 주어지면 클래스 이름 insert을 얻고 싶습니다.

내 코드이 작동하지 않는

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 요소의 클래스 속성을 어떻게 가져야합니까?

감사합니다.

+0

나는 이것을 포기했다. Java에서 HTML의 클래스 속성을 얻는 데 내 인생을 낭비해서는 안됩니다. –

답변

1

나는 문제가 getAttribute 메서드로 전달하는 매개 변수에 있다고 생각합니다. 문자열 "클래스" 대신 HTML.Attribute.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 문서에서도보고 있습니다.