SAXParser를 이용하여 특정 url에 xml을 파싱하기
public class SaxParser extends DefaultHandler {
StringBuffer buffer = new StringBuffer();
public void startElement(String uri, String localName, String qName,
Attributes atts) {
System.out.println("startElement qName: " + qName);
buffer.setLength(0);
}
public void characters(char[] ch, int start, int len) throws SAXException{
buffer.append(ch, start, len); // 버퍼에 data 를 집어 넣기.
}
public void endElement(String uri, String localName, String qName) {
System.out.println( buffer.toString().trim());
System.out.println("endElement qName: " + qName);
}
public static void main(String[] args) throws ParserConfigurationException, SAXException, IOException {
SAXParser parser = SAXParserFactory.newInstance().newSAXParser();
DefaultHandler dh = new SaxParser();
parser.parse("http://www.google.com/ig/api?hl=ko&weather=seoul",dh);
}
}
DefaultHandler 를 상속받고 3개의 method를 이용하여 알아서 파싱된다.
근데 xml내용중에 한글이 있으면 깨지네-_-;; 한글을 받아오려면 마지막에 url을 넣어주면 안되고 따로 가져와서 인코딩을 한번 다시 해줘야 한다.
'웹개발' 카테고리의 다른 글
| [Tomcat7] manager 실행 안될 경우 (0) | 2012.08.27 |
|---|---|
| [Java] jsoup을이용한 html 파싱 쉽게하기/정규식은 저 멀리~ (2) | 2012.08.18 |
| [java] java parser 비교표 (0) | 2012.08.16 |
| CSS를 이용한 그라데이션 표현하기. (0) | 2012.08.16 |
| mybatis xml은 hot deploy가 안되나?.. (2) | 2012.06.04 |