0

这是下面的代码,我需要在 iOS 中使用 GDataXml 解析部分和公司子数据。

-<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>example@example.com</CreatedBy>
     -</Company>
      -<Company>
         <Address1>12447 Hedges Run Drive</Address1>
         <Address2>#B-1 </Address2>
         <City>Lake Ridge</City>
         <CompanyName>Starbucks</CompanyName>
         <CreatedBy>example@example.com</CreatedBy>
      -</Company>
   </CompanyList>
</MainList>

这是我的尝试,我一切都很好,但我在 NSArray arr 中一无所获。

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

2 回答 2

0

大家好,我发现如下

GDataXMLDocument *xmlDocument = [[GDataXMLDocument alloc]initWithData:xmlData options:0 error:&error];

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);

    }
于 2012-05-07T09:32:26.140 回答
0

看到这个答案,这个答案对你有帮助。 NSXMLParser 示例

于 2012-05-03T12:39:56.970 回答