XML을 구문 분석하고 XML의 한 요소에서 NSArray로 URL을 저장하려고합니다. 여기 내 코드는 지금까지입니다 다음 NSLog를 들어XML 구문 분석 NSArray에 저장
NSURL *url = [NSURL URLWithString:@"http://www.316apps.com/LakesideDocs/podcasttrial.xml"];
NSData *xmlData = [[NSMutableData alloc] initWithContentsOfURL:url];
NSError *error;
GDataXMLDocument *doc = [[GDataXMLDocument alloc] initWithData:xmlData
options:0 error:&error];
NSArray *channels = [doc.rootElement elementsForName:@"channel"];
for (GDataXMLElement *channel in channels) {
NSArray *items = [channel elementsForName:@"item"];
for (GDataXMLElement *item in items) {
NSString *articlePoint = [item valueForChild:@"link"];
NSArray *linkarray = [[NSArray alloc] initWithObjects:articlePoint, nil];
NSLog(@"%@", linkarray);
}
}
내가 기대 :
TabBarSample[40191:fb03] (
(
"http://domain.com/image1.jpg"
),
(
"http://domain.com/image2.jpg"
)
)
하지만 내가 얻을 :
TabBarSample[40191:fb03] (
"http://domain.com/image1.jpg"
)
TabBarSample[40191:fb03] (
"http://domain.com/image2.jpg"
)
내가 잘못을하고있는 중이 야 뭐? 증가 배열에 대한 혼동되는 경우
NSArray *linkarray = [[NSArray alloc] initWithObjects:articlePoint, nil];
대신 당신이 llop의 외부에있는 NSMutableArray를 원하는 모든 루프 동안
NSMutableArray *linkarray = [NSMutableArray array];
NSArray *items = [channel elementsForName:@"item"];
for (GDataXMLElement *item in items) {
NSString *articlePoint = [item valueForChild:@"link"];
[linkarray addObject:articlePoint];
NSLog(@"%@", linkarray);
}
을 개체를 추가 : 새 배열을 만들 때마다 루프
자동화된 XM에 대한 링크 게시를 거부 할 수 없습니다 L 파싱 라이브러리. 재귀가 없으며 간단하게 유지하십시오. http://ceasyxml.googlecode.com – v1Axvw