2009-11-19 2 views
1

HTML을 구문 분석하기 위해 HTMLEditorKit.ParserCallback을 확장했습니다. 나는이 같은 오버라이드 (override) 방법으로 특정 요소 유형에 일치하고이 라인, ID와 clazz에 후Swing의 HTMLEditorKit.ParserCallback을 사용하여 요소의 속성을 검색하는 방법은 무엇입니까?

@Override 
public void handleStartTag(Tag t, MutableAttributeSet a, int pos) { 
    if (Tag.DIV.equals(t)) { 
     String id = (String) a.getAttribute("id"); 
     String clazz = (String) a.getAttribute("class"); 
     ... 

항상 널 (null)입니다, 그러나 나는 문제의 요소가 이러한 특성이 포함 된 사실을 알고있다.

어떻게 이러한 속성을 검색해야합니까?

답변

2

MutableAttributeSet은 키 세트를 나타 내기 위해 pre-Java 5 형식 안전 열거 형 패턴을 사용합니다. 즉, 속성의 이름이 "class"인 경우에도 String을 삽입하면 속성 값을 검색하지 않습니다. 대신 다음을 사용하십시오.

@Override 
public void handleStartTag(Tag t, MutableAttributeSet a, int pos) { 
    if (Tag.DIV.equals(t)) { 
     String id = (String) a.getAttribute(HTML.Attribute.ID); 
     String clazz = (String) a.getAttribute(HTML.Attribute.CLASS); 
     ... 

HTML.Attribute 클래스는 일치시킬 수있는 더 많은 특성을 포함합니다.

(잠시 혼란스러워 온라인으로 검색 할 때이 사용 예를 보지 못했습니다.)

관련 문제