Objective c TBXML存在问题

Objective c TBXML存在问题,objective-c,while-loop,Objective C,While Loop,大家好,我在使用TBXML时遇到了一些麻烦。 我试图解析几个XML节点。我的XML是这样的: <teste> } 我做错了什么?您需要获得childElementNamed的第一个孩子,然后通过nextSiblingNamed对其余的孩子进行迭代。下面是我编写的一个使用新块API的方便方法,您可能会感兴趣: +(void) iterateSiblingsWithName:(NSString*)name forNodePath:(NSString*)path fromParent:

大家好,我在使用TBXML时遇到了一些麻烦。 我试图解析几个XML节点。我的XML是这样的:

<teste> 
}


我做错了什么?

您需要获得childElementNamed的第一个孩子,然后通过nextSiblingNamed对其余的孩子进行迭代。下面是我编写的一个使用新块API的方便方法,您可能会感兴趣:

+(void) iterateSiblingsWithName:(NSString*)name forNodePath:(NSString*)path fromParent:(TBXMLElement*)node withBlock:(TBXMLElementIterator)block { TBXMLElement* element = ( path != nil ) ? [TBXML nodeForPath:path fromParent:node] : node; if ( !element ) { return; } TBXMLElement* valuenode = [TBXML childElementNamed:name parentElement:element]; if ( !valuenode ) { return; } do { block( valuenode ); } while ( valuenode = [TBXML nextSiblingNamed:name searchFromElement:valuenode] ); } @end
我认为它会解决您的问题。

我没有使用TBXML,但您的while循环似乎要么在comentarios为nil时永远不会执行,要么在comentarios为非nil时永远不会退出。你到底遇到了什么麻烦? +(void) iterateSiblingsWithName:(NSString*)name forNodePath:(NSString*)path fromParent:(TBXMLElement*)node withBlock:(TBXMLElementIterator)block { TBXMLElement* element = ( path != nil ) ? [TBXML nodeForPath:path fromParent:node] : node; if ( !element ) { return; } TBXMLElement* valuenode = [TBXML childElementNamed:name parentElement:element]; if ( !valuenode ) { return; } do { block( valuenode ); } while ( valuenode = [TBXML nextSiblingNamed:name searchFromElement:valuenode] ); } @end
[itemlist retain];