2012-05-03 3 views
0

여기가 iOS에서 GDataXml을 사용하여 섹션 및 회사 하위 데이터를 구문 분석해야하는 코드 아래에 있습니다.GDataXml iPhone의 구문 분석 문제

-<MainList> 
    <FirstMessage>Right</FirstMessage> 
    <SecondMessage>Wrong</SecondMessage> 
    <Status>0</Status> 
    -<CompanyList> 
    -<Company> 
     <Address1>12447 Hedges Run Drive</Address1> 
     <Address2>#B-1 </Address2> 
     <City>Lake Ridge</City> 
     <CompanyName>Starbucks</CompanyName> 
     <CreatedBy>[email protected]</CreatedBy> 
    -</Company> 
     -<Company> 
     <Address1>12447 Hedges Run Drive</Address1> 
     <Address2>#B-1 </Address2> 
     <City>Lake Ridge</City> 
     <CompanyName>Starbucks</CompanyName> 
     <CreatedBy>[email protected]</CreatedBy> 
     -</Company> 
    </CompanyList> 
</MainList> 

여기 내 시도 내가 모든 일의 벌금을 얻고있다하지만 난있는 NSArray의 편곡에 아무것도 점점하지하고있다.

NSArray *channels = [rootElement elementsForName:@"CompanyList"]; 
    for (GDataXMLElement *icon in channels) { 
    NSArray *arr = [icon elementsForName:@"Company"]; 
    if ([arr count]>0) 
    { 
     NSlog(@"Done"); 
    } 
} 
+0

nsarray 객체를 NSArray * arr = [[NSArray alloc] init]으로 할당 해보십시오. – Saad

+0

그리고 chennels에서 데이터를 수신하는지 확인하기 위해 중단 점을 배치 하시겠습니까? 그렇지 않다면 구문 분석 기술을 변경하십시오. – Saad

+0

나는 이것을했으나 성공하지 못했습니다. –

답변

0

헬로들 제가

GDataXMLDocument 다음으로 파악 된 XmlDocument * = [GDataXMLDocument ALLOC] initWithData : XMLDATA 옵션 0 오류 : & 오류];

NSLog(@"Error:%@",[error description]); 

NSArray *getData = [[xmlDocument rootElement]elementsForName:@"CompanyList"]; 
NSArray *tempArray = [[NSMutableArray alloc]init]; 

for(GDataXMLElement *e in getData) 
{ 

    NSArray *el = [e elementsForName:@"Company"]; 

    for (GDataXMLElement *e in el) { 
     static int count =0; 
     NSString *testString = [[[e elementsForName:@"Address1"] objectAtIndex:0] stringValue]; 
     NSLog(@"Company %d : %@",count+1, testString); 

    } 
0

이 답변을 참조하십시오.이 대답은 도움이됩니다. NSXMLParser example

+0

이 사실을 알고 있지만 GDataXml을 사용하여 구문 분석을해야합니다. 이유가 있습니다. –