저는 아이폰 개발에 익숙하지 않습니다. XML 페이지를 파싱하고 tableview에 내용을 표시하고 있습니다. XML 페이지의 일부 블록에서 하위 요소가 누락되었습니다. 내 배열에 값 o를 추가하고 싶습니다. 등급 태그와의 tableview에서의 속성 numRates 값을 표시 : 나는 GD를 분석하고 XML 구문 분석에서 자식 요소를 찾을 수없는 경우 배열에 기본값을 추가하는 방법은 무엇입니까?
<entry>
<id>xxx </id>
<title>xxxxx</title>
<gd:ratings numRaters="2"/>
</entry> ..................................>first block
<entry>
<id>xxx </id>
<title>xxxxx</title>
</entry> ....................................>Second block
<entry>
<id>xxx </id>
<title>xxxxx</title>
<gd:ratings numRaters="2"/>
</entry> .....................................>Third block
같은 자식 요소가 특정 block.My XML 파일 좋아하지 않아입니다. numRates의 값을 저장하는 가변 배열을 사용하고 있습니다. 두 번째 블록을 구문 분석 할 때 배열에 객체 "O"를 추가해야합니다. 그 이유는 gd : ratings 태그가 포함되어 있지 않기 때문입니다. 값이 특성 태그에 있기 때문에 for NSXML 파서 DidStartElement 메소드에서 내용을 검색하고 변경 가능한 배열에 추가하는 작업이 수행됩니다.
- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict{
currentElement = [elementName copy];
if ([elementName isEqualToString:@"entry"]) {
entry = [[NSMutableDictionary alloc] init];
currentTitle = [[NSMutableString alloc] init];
currentDate = [[NSMutableString alloc] init];
NSLog(@"inside image1 ");
}else if([elementName isEqualToString:@"media:thumbnail"])
{ currentImage = [[NSMutableString alloc] init];
if(myUrl == nil){
myUrl = [NSString stringWithString:[attributeDict objectForKey:@"url"]];
}
[currentImage appendString:myUrl];
[stories1 addObject:currentImage];
myUrl=nil;
} else if([elementName isEqualToString:@"gd:rating"])
{
currentRating=[[NSMutableString alloc]init];
myRatings=[NSString stringWithString:[attributeDict objectForKey:@"numRaters"]];
[currentRating appendString:myRatings];
[stories2 addObject:currentRating];
}
}
어레이 stories2 어레이 낭포 (25 개) 엔트리의 태그 블록이 10 블록 doesnot 유무 GD 평가 요소가 있기 때문에 난이 임의 order.Is에서의 tableview에 표시 할 수 15 values.So을 갖는다 "발견 된 문자"메소드에서 속성 태그를 검색하는 방법. 도와주세요. 고마워.
정교하게하십시오. 내 storeis2 배열에 값 0을 추가 할 수 있습니다. – Warrior
코드를 추가했습니다. 희망이 도움이됩니다. – FelixLam
수천 개의 감사합니다. 괜찮습니다 ... – Warrior