Paris d'éléments enfants avec TBXML
Question
Mon XML ressemble à ceci:
<root>
<sets>
<childSets>
<childs>
<child>
<childId>11</childId>
</child>
<child>
<childId>22</childId>
</child>
<child>
<childId>33</childId>
</child>
<child>
<childId>44</childId>
</child>
[...]
</childs>
</childSets>
<childSets>
[...]
</childSets>
</sets>
</root>
Je veux analyser tout childId
des éléments de child
.
En fait, le résultat de mon analyse n'est que le premier childId
de chaque childs
élément:
[...]
do {
if ([[TBXML elementName:element] isEqualToString:@"childSet"]) {
[...]
TBXMLElement *xmlChildId = [TBXML childElementNamed:@"childId" parentElement:child];
[...]
}
} while ((element = element->nextSibling));
[...]
Dans ce cas, je viens juste 11
. Qu'est-ce qui ne va pas ici?
Modifier 1:
La solution consiste à trouver le premier enfant de l'élément enfant et à analyser les éléments suivants, voici: voici:
Ce code est dans la boucle DO pendant la méthode TraverseElement
do { [...]
if ([[TBXML elementName:element] isEqualToString:@"childSet"]) {
//find the first child
if ((ChildPARENTELEMENT->firstChild)) {
while (ChildOfCHILDELEMENT!=nil) {
NSLog(@"....");
ChildOfCHILDELEMENT = [TBXML nextSiblingNamed:@"childs" searchFromElement:ChildOfCHILDELEMENT];
}
}
}
while((element = element->nextSibling));
Pas de solution correcte
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow