iOS
2014.03.18 15:23
XML 파싱을 쉽게 해주는 TBXML
조회 수 726 추천 수 0 댓글 0
| 첨부 '1' |
|---|
XML 파싱할때 직관적으로 코딩할 수 있는 TBXML을 소개합니다.
아래는 예제파일에 포함된 소스코드 일부분입니다. 대략 이런식으로 코딩이 가능합니다. 참고하세요. ^^
// instantiate an array to hold author objects
authors = [[NSMutableArray alloc] initWithCapacity:10];
// Load and parse the books.xml file
tbxml = [[TBXML tbxmlWithXMLFile:@"books.xml"] retain];
// Obtain root element
TBXMLElement * root = tbxml.rootXMLElement;
// if root element is valid
if (root) {
// search for the first author element within the root element's children
TBXMLElement * author = [TBXML childElementNamed:@"author" parentElement:root];
// if an author element was found
while (author != nil) {
// instantiate an author object
Author * anAuthor = [[Author alloc] init];
// get the name attribute from the author element
anAuthor.name = [TBXML valueOfAttributeNamed:@"name" forElement:author];
// search the author's child elements for a book element
TBXMLElement * book = [TBXML childElementNamed:@"book" parentElement:author];
// if a book element was found
while (book != nil) {
// instantiate a book object
Book * aBook = [[Book alloc] init];
// extract the title attribute from the book element
aBook.title = [TBXML valueOfAttributeNamed:@"title" forElement:book];
// extract the title attribute from the book element
NSString * price = [TBXML valueOfAttributeNamed:@"price" forElement:book];
// if we found a price
if (price != nil) {
// obtain the price from the book element
aBook.price = [NSNumber numberWithFloat:[price floatValue]];
}
// find the description child element of the book element
TBXMLElement * desc = [TBXML childElementNamed:@"description" parentElement:book];
// if we found a description
if (desc != nil) {
// obtain the text from the description element
aBook.description = [TBXML textForElement:desc];
}
// add the book object to the author's books array and release the resource
[anAuthor.books addObject:aBook];
[aBook release];
// find the next sibling element named "book"
book = [TBXML nextSiblingNamed:@"book" searchFromElement:book];
}
// add our author object to the authors array and release the resource
[authors addObject:anAuthor];
[anAuthor release];
// find the next sibling element named "author"
author = [TBXML nextSiblingNamed:@"author" searchFromElement:author];
}
}
// release resources
[tbxml release];소스다운로드는 첨부파일 또는 아래링크를 참고하세요.
http://www.tbxml.co.uk/TBXML/TBXML_Free.html
Who's hooni
| 번호 | 분류 | 제목 | 글쓴이 | 날짜 | 조회 수 |
|---|---|---|---|---|---|
| 36 | iOS |
차트라이브러리 - MIMChart Library
|
hooni | 2014.03.18 | 758 |
| 35 | iOS |
간단한 테이블뷰 검색예제
|
hooni | 2014.03.18 | 664 |
| 34 | iOS |
iPad용 트위터앱 처럼 슬라이딩 패널 구현 소스 - StackScrollView
|
hooni | 2014.03.18 | 630 |
| » | iOS |
XML 파싱을 쉽게 해주는 TBXML
|
hooni | 2014.03.18 | 726 |
| 32 | iOS |
FTUtils - 코어애니메이션 유틸리티 라이브러리
|
hooni | 2014.03.18 | 571 |
| 31 | iOS |
플립보드 스타일 오픈소스 - FlipView
|
hooni | 2014.03.18 | 867 |
| 30 | iOS |
DCRoundSwitch - 커스텀 스위치버튼
|
hooni | 2014.03.18 | 740 |
| 29 | iOS |
SpaceGame - 슈팅게임
|
hooni | 2014.03.18 | 715 |
| 28 | iOS |
팝업풍선 오픈소스 - CMPopTipView
|
hooni | 2014.03.18 | 686 |
| 27 | iOS |
Heads Up Display (HUD) 오픈소스
|
hooni | 2014.03.18 | 706 |
| 26 | iOS |
climbers - 바위를 피해 벽을 오르는 게임
|
hooni | 2014.03.18 | 660 |
| 25 | iOS |
오픈소스 페이징 컨트롤 - iCarousel
|
hooni | 2014.03.18 | 855 |