ios - 使用 TBXML 解析子元素
<p><p>我的 XML 如下所示:</p>
<pre><code><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>
</code></pre>
<p>我想解析 <code>child</code> 的所有 <code>childId</code> 元素。</p>
<p>其实我的解析结果只是每个<code>childs</code>元素的第一个<code>childId</code>:</p>
<pre><code>[...]
do {
if ([ isEqualToString:@"childSet"]) {
[...]
TBXMLElement *xmlChildId = ;
[...]
}
} while ((element = element->nextSibling));
[...]
</code></pre>
<p>在这种情况下,我只得到 <code>11</code>。这里有什么问题?</p>
<p><strong>编辑 1:</strong></p>
<p>解决办法是找到子元素的第一个子元素,并解析this的下一个元素,这里是:</p>
<p>这段代码在方法traverseElement的do while循环中</p>
<pre><code>do { [...]
if ([ isEqualToString:@"childSet"]) {
//find the first child
if ((ChildPARENTELEMENT->firstChild)) {
while (ChildOfCHILDELEMENT!=nil) {
NSLog(@"....");
ChildOfCHILDELEMENT = ;
}
}
}
while((element = element->nextSibling));
</code></pre></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>解决办法是找到子元素的第一个子元素,并解析this的下一个元素,这里是:</p>
<p>这段代码在方法traverseElement的do while循环中</p>
<pre><code>do { [...]
if ([ isEqualToString:@"childSet"]) {
//find the first child
if ((ChildPARENTELEMENT->firstChild)) {
while (ChildOfCHILDELEMENT!=nil) {
NSLog(@"....");
ChildOfCHILDELEMENT = ;
}
}
}
while((element = element->nextSibling));
</code></pre></p>
<p style="font-size: 20px;">关于ios - 使用 TBXML 解析子元素,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/7404641/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/7404641/
</a>
</p>
页:
[1]