HTML 파싱하기

2010. 4. 20. 17:14안드로이드 개발

HTML Parser라는 java 라이브러리를 다운받아서 안드로이드 프로젝트에 추가해준다. (htmlparser.jar 파일)
http://htmlparser.sourceforge.net/

다음은 위키피디아의 본문 내용 중에 TABLE 태그가 몇번이나 들어갔는지 확인하는 코드이다.

import org.htmlparser.Parser;
import org.htmlparser.util.ParserException;
import org.htmlparser.visitors.TagFindingVisitor;

Parser parser = null; 
try {
 
parser = new Parser ("http://en.wikipedia.org/wiki/Seoul");
 
String tags[] = { "TABLE" };
  TagFindingVisitor visitor = new TagFindingVisitor(tags); 
 
  try {
   
parser.visitAllNodesWith (visitor);
    String outputtext = "총 "+visitor.getTags(0).length+"개의 TABLE 노드가 있습니다.";
    Toast.makeText(getBaseContext(), outputtext, Toast.LENGTH_LONG).show();
  } catch (ParserException e) { 
    Toast.makeText(getBaseContext(),  e.toString(), Toast.LENGTH_SHORT).show();
  }
} catch (ParserException e1) { 
  Toast.makeText(getBaseContext(),  e1.toString(), Toast.LENGTH_SHORT).show();
}

이 이외에도 여러가지 종류의 HTML Parser가 있는 것 같지만, 이 정도 기능이면 충분하기 때문에 더 알아보지는 않았다.
결국 java도 C/C++처럼 유용한 외부 라이브러리를 적절하게 가져다가 쓰는 노하우가 중요한 듯하다.