2012-05-09 130 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