메신저를 sub_category있는 하위 데이터를 분석하고 보여주기 위해 노력하고 있지만 상위 카테고리의 관련 sub_category 표시됩니다. 부모 요소의 데이터를 구문 분석하는 데는 성공했지만 자식 요소를 구문 분석하는 방법에 문제가 있습니다. 얻기 데이터
- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict {
if([elementName isEqualToString:@"category"]){
dataCurrent = [dataFileHolder alloc];
}
}
- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string {
currentList = [[NSMutableString alloc] initWithString:[string stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]];
}
- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName {
if([elementName isEqualToString:@"name"]){
dataCurrent.nameOfCat = currentList;
}
if ([elementName isEqualToString:@"description"]){
dataCurrent.descriptionOfCat = currentList;
}
if ([elementName isEqualToString:@"image"]) {
dataCurrent.imageLink = currentList;
}
if ([elementName isEqualToString:@"category"]) {
[listPopulated addObject:dataCurrent];
dataCurrent = nil;
currentList = nil;
}
}
와 XML 파일이
<category>
<name>Food</name>
<description>food description</description>
<image> Link Here </image>
<sub_cat>
<sub_name>Sub name</sub_name>
<sub_desc>sub cat description</sub_desc>
<sub_image> Link </sub_image>
</sub_cat>
<sub_cat>
<sub_name>Sub name</sub_name>
<sub_desc>sub cat description</sub_desc>
<sub_image> Link </sub_image>
</sub_cat>
</category>
처럼 그리고 나는 Event Driven XML Parsing에 대해 연구하고 또한 스레드 xml-parse-only-certain-child-elements 중 하나에서 하느님의 참조를 찾을 수 있지만, 최종 메신저 아직도 꽤에 대한 혼동되어 XML 및 구문 분석 물건. 나는 라멘 기간이 필요할지도 모른다. 그리고 파싱 부분을 수행하는 방법을 알고 싶습니다.
이 부분까지이 작업을 수행했습니다. 이제 막 누락 된 im은 부모보기 컨트롤러의 태그 안에있는 자식 데이터를 내 자식보기 컨트롤러로 전달하는 것입니다. –
그런 다음 subcat 배열을 만들고 subcat 키를 사용하여 dataDict에 해당 배열을 저장하십시오. –
은 업데이트 된 답변을 참조하십시오. 이제 dataArray에 하나의 dataDict가 생깁니다. sub_cat 키를 사용하여 sub_cat 배열을 가져올 수 있습니다. 그런 다음보기 컨트롤러에 전달할 수 있습니다. –