Notice
Recent Posts
Recent Comments
Link
05-15 14:09
관리 메뉴

필피리의 잡학사전

Sax parser 사용법(naver open api사용) 본문

Developer/Java

Sax parser 사용법(naver open api사용)

김수필 2012. 1. 23. 22:22
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

1. sax parser를 사용하여 data를 가져올 url주소를 연결합니다. (샘플코드는 네이버 open api중 image api를 사용)
2. DefaultHandler와 sax parser를 이용하여 xml 혹은 rss 문서를 파씽합니다.

- url연결 및 parse
                            URL url = new URL(strUrl);
			URLConnection conn = url.openConnection();
			InputStream in = conn.getInputStream();

			SAXParserFactory factory = SAXParserFactory.newInstance();
			SAXParser saxParser = factory.newSAXParser();
			HandleImg handle = new HandleImg();
			handle.SetArr2(arri2);

			InputSource inputsource = new InputSource(in);
			inputsource.setEncoding("utf-8");
			saxParser.parse(inputsource, handle);


3. parse 하기 위한 handler부분

- naver image api rss문서


- Item안의 이미지를 가져오기위해 (tag가 item 이면서 link가 모두 true일 때) list에 추가했습니다.
               public void characters(char[] ch, int start, int length)
			throws SAXException {

		if (isItem == true && isLink == true) {		
			//조건이 충족될 때 list에 추가
			linkList.add(new String(ch, start, length));
			isLink = false;
		}

	}

	public void endElement(String uri, String localName, String qName)
			throws SAXException {

	}

	public void startElement(String uri, String localName, String qName,
			Attributes attributes) throws SAXException {
                               //q.Name.equals() 괄호안에 검색할 tag명을 적는다.
		if (qName.equals("item")) {			//tag name is item
			isItem = true;
		}
		if (qName.equals("link")) {			//tag name is link
			isLink = true;
		}
	}


'Developer > Java' 카테고리의 다른 글

특수문자 삭제하기(대체하기)-replaceAll 함수  (0) 2012.01.24
html parssing  (0) 2012.01.23
Swing - Table 만들기  (0) 2012.01.18
형변환(int -> string),(string->int)  (0) 2012.01.13
자바와 oracle연동 -4 (Procedure)  (0) 2012.01.11
Comments