2012-05-09 92 views
1

我在我的iPhone应用程序中使用TBXML。我有一个像下一个一个xml:iphone TBXML xml解析

<detail> 
    <title>My title</title> 
    <subs> 
     <sub>subCategory1</sub> 
     <sub>subCategory2</sub> 
     <sub>subCategory3</sub> 
    </subs> 
</detail> 

我能顺利拿到冠军,只有第一个子类别。我使用的是用于获取子类的代码如下:

NSMuttableArray *divs = [[NSMuttableArray] initWithCapacity:3]; 
TBXMLElement *subsElement = [TBXML childElementNamed:@"subs" parentElement:currentElement]; 
TBXMLElement *subElement = [TBXML childElementNamed:@"sub" parentElement:subsElement]; 
do { 
    [divs addObject:[TBXML textForElement:subElement]]; 
    NSLog(@"%@ , %@", @"Got one subCategory " , divs.lastObject); 
} while ((subsElement = subsElement->nextSibling)); 
+0

这并不直接回答你的问题,但我会在XML心跳选择['RaptureXML'(https://github.com/ZaBlanc/RaptureXML)在TBXML在iOS上解析。我会看看它;解析你想要解析的内容将非常简单。 –

回答

2

它看起来像你有你的where声明一个错字。我相信你打算使用subElement而不是subsElement。所以,你的代码应该是:

while ((subElement = subElement->nextSibling)); 
+0

这不是一个错字。这是父元素类型。但实际上这应该是。 – Panos