iOS개발하기 #41. XML Parser (2)

오늘의 주제

  • TBXML로 XML파싱

마흔 한 번째 시간입니다.^^
지난 번에 테이블을 준비해 두었었죠?
오늘은 XML 파싱을 한 번 해보려 합니다.
본래 코코아 내에 NSXMLParser 라는 XML파싱 클래스가 존재 합니다.
그래서 그녀석으로 포스팅을 해볼까 하다가, 그녀석 보다 좋은 녀석이 있어서 소개 겸 진행해 보려고 합니다.
사용법도 훨씬 간단하고 속도도 훨씬 빠릅니다!
NSXMLParser는 처음 파싱해보는 분들은 정말 어려워 하는 경향이 있습니다.
그래서 준비했습니다. TBXML...!
오픈 라이브러리 가져다가 잘 쓰는 것도 중요합니다 ㅎㅎㅎ
저도 처음 써보는데, 일단 해 봅시다 ㅎㅎ

XML의 구조

지난 번에 예제로 쓰겠다고 했던 날씨 XML 데이터 입니다.
XML은 요소(엘리먼트), 속성 등을 알면 됩니다.
1번 : 엘리먼트 입니다. 저 줄 하나가 통채로 엘리먼트 입니다. 맨 위에 루트 엘리먼트가 current라는 이름을 갖고 있네요. 그 자식 엘리먼트가 weather구요, weather의 자식 엘리먼트들이 local이란 이름으로 쭈욱 나열되어 있는 모습입니다.
2번 : 엘리먼트 이름 입니다.
3번 : 속성 이름입니다. 저렇게 엘리먼트 내부에 들어가 있는 녀석을 속성이라고 부릅니다.
4번 : 속성값 입니다.
5번 : 엘리먼트 텍스트 입니다.
일단 이렇게 기본적으로 알고 가 봅시다!

TBXML 다운받기

http://www.tbxml.co.uk

TBXML 공식 블로그입니다. 영국사람이 만들었나 보네요 ㅋㅋ 들어가 봅시다.
다운로드 링크를 타고 가서 소스파일을 다운받습니다.
지금 최신 버전이 1.5 버전이라서 추후에는 어떻게 변경될지 모르겠지만 여튼 아직까진 이렇습니다 ㅎㅎ

압축을 풀면 폴더들이랑 파일들이 나와요~
그중에 제가 여기 집어 넣은 녀석들을 골라서 가져옵니다.
그리고 우리 프로젝트의 pch파일로 옵니다. 거기서 하나 정의를 해 주시구요. (이녀석이 뭔가는 별로 신경쓰지 않으셔도 됩니다.) 

그리고 프로젝트 타겟 속성으로 와서 라이브러리 추가 버튼을 눌러줍니다.

libz.dylib를 추가해 주시구요

이제 테이블뷰 컨트롤러 구현파일에 와서 헤더파일을 임포트 합니다.
그리고 이쁘게 코딩~ 코딩~
TBXML은 블럭코딩 방식을 사용하였는데 iOS4.0 이상부터 지원합니다. 일단 아래 보이는 코드들이 좀 생소하더라도 블럭 코딩이라는 것만 알아두시고, 일단은 넘어갑니다 ㅎㅎ

또 또 코딩합니다~ 스레드 만드는 것은 설명 필요 없겠죵?

2012/06/01 - [iOS Dev/함께해보기] - iOS개발하기 #36. UISearchDisplayController(2) <uisearchbar, json,="" nsrequest="" nsthread,=""></uisearchbar,>
2012/06/06 - [iOS Dev/함께해보기] - iOS개발하기 #38. UISearchDisplayController(4) <nsthread, reachability=""></nsthread,>
요기서 스레드에 대해 좀 볼 수 있을 거에요~

자, 여기까지 모두 잘 되었다면 요로케 로그가 찍혀야 합니다!
오홍홍~_~

잘 나왔나용?ㅎㅎ
오늘 테이블에 뿌리는 것까지 해 보려 했는데, 일단은 여기까지만 해야겠네용~
지난 번에 잘 따라오신 분들이라면 이미 테이블에 넣는 작업을 하고 계시지 않을까 싶네요 ㅎㅎ
그럼 다음 번에 또 뵙도록 해요 🙂

by yagom

p.s 제 포스팅을 RSS 피드로 받아보실 수 있습니다.
RSS Feed 받기   

댓글 남기기

Close