Разбор XML в Iphone и добавление значений в NSMutableArray - PullRequest
0 голосов
/ 17 марта 2012

Я новичок в разборе XML. У меня есть следующий xml

<myMainList>
            <mySubList>
              <edited>true</edited>
              <mySharedNumber>W59QYBZKJ4</mySharedNumber>
           </mySubList>
           <mySubList>
              <edited>false</edited>
              <mySharedNumber>TOW4KLP9WD</mySharedNumber>
           </mySubList>
           <mySubList>
              <edited>true</edited>
              <mySharedNumber>XH8JDIZA64</mySharedNumber>
           </mySubList>
           <mySubList>
              <edited>false</edited>
              <mySharedNumber>V2YOHSNODT</mySharedNumber>
           </mySubList>
   </myMainList>

Я отредактировал свой вопрос.

Я не знаком с циклическим просмотром всего XML и добавлением значений в мой массив. Может кто-нибудь показать мне, как я могу добавить 4 sharedNumberList значения в мой массив.

Edit:

GDataXMLElement *node;

Ответы [ 2 ]

1 голос
/ 20 марта 2012
NSArray * array = [node nodesForXPath:@"//return/myMainList/mySubList" error:nil];
            NSLog(@"count  :%d",[array count]);
            int sharedContacts = [array count];

            NSMutableArray *mySharedListArray = [[NSMutableArray alloc]init];


      for(int i = 1; i<= sharedContacts; i++){
                NSString *xmlDataFetcher = [NSString stringWithFormat:@"//return/myMainList/mySubList[%d]",i ];
                NSString *parsedNumbers = [node nodeStringForXPath:[xmlDataFetcher stringByAppendingString:@"/mySharedNumber"]];
                NSString *parsedEdit = [node nodeStringForXPath:[xmlDataFetcher stringByAppendingString:@"/edited"]];
                NSLog(@"Parsed Edited %@", [node nodeStringForXPath:[xmlDataFetcher stringByAppendingString:@"/edited"]]);
                NSLog(@"Parsed sharedNumber %@", [node nodeStringForXPath:[xmlDataFetcher stringByAppendingString:@"/mySharedNumber"]]);
                NSString *arrayEntry = [NSString stringWithFormat:@"%@%@", parsedNumbers, parsedEdit];;

                [mySharedListArray addObject:arrayEntry]; 
            }
            NSLog(@"Array entry %@", mySharedListArray);

Я добавил много NSLog в ответ, чтобы вы могли войти в него, как вы хотите

0 голосов
/ 17 марта 2012

Я не сделал этого, скорее всего, это возвращает массив из запроса xpath, поэтому попробуйте вместо этого

[mySharedListArray addObjectsFromArray:[node nodesForXPath:@"//return/MyList" error:nil]];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...