java XDocument를 사용해 보신 분이면 쉽게 사용이 가능합니다.
1. 첨부한 소스나 아래 사이트에 가셔셔 먼저 소스를 받으세요.
http://github.com/arashpayan/apxml/
2. 받은 소스를 모두 class에 추가 합니다.
3. xml 파싱을 구현하는 소스에 APXML.h 파일을 import 합니다.
#import "APXML.h"
4. 파싱을 하고자 하는 xml url을 아래와 같이 NSString으로 받아 옵니다.
NSString* xmlStr = [NSString stringWithContentsOfURL:[NSURL URLWithString:xmlUrl] encoding:NSUTF8StringEncoding error:nil];
5. APDocument 객체를 위에서 할당된 NSString을 사용하여 객체를 생성 합니다.
APDocument* doc = [APDocument documentWithXMLString:xmlStr];
6. rootElement를 사용하여 xml 문서의 root를 가져옵니다.
APElement* rootElement = [doc rootElement];
rootElement는 하위 엘리먼트들을 모두 포함하고 있습니다.
이 rootElement를 베이스로 하위 엘리먼트 요소를 파싱해서 사용 하시면 됩니다.
파싱은 아래와 같이 하시면 됩니다.
NSArray* childElements = [rootElement childElements];
for(APElement* child in childElements) {
NSArray* memberElements = [child childElements];
MEMBER* obj = [[MEMBER alloc] init];
for(APElement* member in memberElements) {
// obj 객체 프로퍼티 할당
}
[members addObject:obj];
[obj release];
}
// 엘리먼트명을 가져옵니다.
// 예) <MEMBER id="1"> 에서 값 : MEMBER
[child name]
// 엘리먼트 내 Attribute의 값을 가져옵니다.
// 예) <MEMBER id="1"> 에서 값 : 1
[child valueForAttributeNamed:@"id"]
// 엘리먼트의 값을 가져옵니다.
// 예) <PHONE>010-0505-7575</PHONE> 에서 값 : 010-0505-7575
[child value]
'ios' 카테고리의 다른 글
apns xampp( php ) 연동해서 구축하기 (0) | 2015.01.26 |
---|---|
mac에서 사용할수 있는 UML 툴 (0) | 2012.11.25 |
nib but the view outlet was not set. (0) | 2012.10.31 |
info.pList (0) | 2012.10.28 |
IPhone Error 메세지 (0) | 2012.10.28 |