Iphone TBXML解析器提供EXC\u BAD\u访问

Iphone TBXML解析器提供EXC\u BAD\u访问,iphone,objective-c,ios,tbxml,Iphone,Objective C,Ios,Tbxml,我正在使用TBXML解析器解析一些大的xml文件。xml文件的结构如下所示: <Products> <Category> <product></product> </Category> </Products> 我总共有4个类别(去掉中间的2个,因为上面代码中没有相关内容)。当我解析前3个类别时,一切都很好,但当我到达最后一个类别时,就发生了一些奇怪的事情 Category=[TBXML nextSiblingNamed:@

我正在使用TBXML解析器解析一些大的xml文件。xml文件的结构如下所示:

<Products>
<Category>
<product></product>
</Category>
</Products>
我总共有4个类别(去掉中间的2个,因为上面代码中没有相关内容)。当我解析前3个类别时,一切都很好,但当我到达最后一个类别时,就发生了一些奇怪的事情

Category=[TBXML nextSiblingNamed:@“Category”searchFromElement:Category]行将搜索一个新类别,但由于没有,它将返回null。我会说解析器完成了,但此时解析器崩溃,并在TBXML.M文件(来自TBXML api)中对以下代码提供EXC_BAD_访问:

TBXMLAttribute * attribute = aXMLElement->firstAttribute;
我不知道为什么,但也许这里有人马上就看到了。。。任何帮助都将不胜感激

提前通知

问题解决了:

此代码提供了错误的访问权限:

 while ([[TBXML valueOfAttributeNamed:@"DisplayName" forElement:Category] isEqualToString:@"Accessoires"])

用while(category!=nil)解决了它,它工作了

左手边category的数据类型是什么?在此语句中->Category=[TBXML NEXTSIBLINGNAME:@“Category”searchFromElement:Category];它是一个TBXMLElement..TBXMLElement*Category=[TBXML ChildElementName:@“Category”parentElement:root];过去,其他人也面临同样的问题。你需要调试。查看此链接可能会对您有所帮助我不知道我现在到底要做什么,我需要如何调试,我知道应该在哪里查找?与其他有问题的人不同,我知道哪里出了问题,但不知道为什么出了问题。Thnx
 while ([[TBXML valueOfAttributeNamed:@"DisplayName" forElement:Category] isEqualToString:@"Accessoires"])