У меня есть следующий xml.Я пытаюсь разобрать это с помощью gdataxml parser.Я могу разобрать первую часть xml, от <myBean>
до </myBean>
, но со второй части, начиная с <trackBean>
, становится все труднее, когда trackBean
повторяется внутри.Мне трудно разработать логику для этого.Я застрял здесь на 2-й день.
<return>
<myTrackBean>
<myBean>
<myStatus>false</myStatus>
<hisStatus>false</hisStatus>
<secondVcardBean>
<contactId>108</contactId>
<myNumber>KXUOYHGCIO</myNumber>
<userId>56</userId>
<version>1</version>
</secondVcardBean>
<myNumber>KXUOYHGCIO</myNumber>
</myBean>
<trackBean>
<myBean>
<myStatus>false</myStatus>
<hisStatus>false</hisStatus>
<secondVcardBean>
<contactId>105</contactId>
<myNumber>5D1X7XP6CW</myNumber>
<userId>54</userId>
<version>1</version>
</secondVcardBean>
<myNumber>5D1X7XP6CW</myNumber>
</myBean>
<trackBean>
<myBean>
<myStatus>false</myStatus>
<hisStatus>false</hisStatus>
<secondVcardBean>
<contactId>103</contactId>
<myNumber>0C3RM5UKBB</myNumber>
<userId>53</userId>
<version>8</version>
</secondVcardBean>
<myNumber>0C3RM5UKBB</myNumber>
</myBean>
</trackBean>
</trackBean>
</myTrackBean>
</return>
Ниже приведен код, который я использовал для разбора первой части, с первой <myBean>
до <<code>myBean>.Как я могу проверить, существует ли <trackBean>
внутри его родителя <trackBean>
NSArray * array = [node nodesForXPath:@"//return/myTrackBean" error:nil];
int noOfmyTrackBean = [array count];
for(int i = 1; i<= noOfmyTrackBean; i++){
NSString *tempXmlData = [NSString stringWithFormat:@"//return/myTrackBean/myBean"];
NSString *myStatus = [node nodeStringForXPath:[tempXmlData stringByAppendingString:@"/myStatus"]];
NSString *hisStatus = [node nodeStringForXPath:[tempXmlData stringByAppendingString:@"/hisStatus"]];
NSString *contactId = [node nodeStringForXPath:[tempXmlData stringByAppendingString:@"/secondVcardBean/contactId"]];
NSString *myNumber = [node nodeStringForXPath:[tempXmlData stringByAppendingString:@"/secondVcardBean/myNumber"]];
Я понимаю, что сложность заключается в получении дочернего узла <trackBean>
внутри <trackBean>