Iam이 XML 응답을 소비하고 구문 분석합니다. 그러나 NSMutableDictionary에 객체를 추가 한 다음 nSMutableArray에 객체를 추가하면 응답이 null입니다.null을 반환하는 NSMutableArray에 NSMutableDictionary를 추가합니다.
<List>
<Address>
<City>Michigan</City>
<Line1>17</Line1>
<line2>12</Line2>
</Address>
<Employee>
<EmployeeName>Williams</EmployeeName>
</Employee>
<Address>
<City>NewYork</City>
<Line1>27</Line1>
<line2>52</Line2>
</Address>
<Employee>
<EmployeeName>Mandarin</EmployeeName>
</Employee>
내 반응은 다음과 같이해야합니다 :
Michigan
17
12
Williams
NewYork
27
52
Mandarin
그리고 내 구문 분석 코드는 다음과 같다 : 내 Xmlresponse이 같다
- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI: (NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict {
element = elementName;
if([elementName isEqualToString:@"Address"])
{
arr=[[NSMutableArray alloc] init];
drr=[[NSMutableDictionary alloc] init];
}
}
-(void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string{
[srr appendString:string];
}
- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName {
if([elementName isEqualToString:@"City"])
{
[drr setObject:srr forKey:@"City"];
[srr release],srr=nil;
return;
}
if([elementName isEqualToString:@"Line1"])
{
[drr setObject:srr forKey:@"Line1"];
[srr release],srr=nil;
return;
}
if([elementName isEqualToString:@"Line2"])
{
[drr setObject:srr forKey:@"Line2"];
[srr release],srr=nil;
return;
}
if([elementName isEqualToString:@"Address"])
{
[arr addObject:drr];
[drr release],drr=nil;
}
[srr release],srr=nil;
}
NsLog(@"%@",arr);
을하지만 때를 'arr'에서 응답을 확인하십시오. NULL을 반환합니까? 그렇습니까?
안녕하세요, 왜 대답을 모르십니까? 물어 보았습니다. 제발 도와주세요. iPhone 개발에 상당히 익숙하며 많은 것을 검색 한 후에 여기에 게시했습니다. 몇 가지 예를 보았습니다. 하지만 내 컨텍스트에서 그들을 적용하는 방법을 모르겠다. 그래서 내가 도와 줬어 ... 제발 도와주세요 – cutiepie