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 |