我正在使用此处提供的XML解析器:http://www.saygoodnight.com/2009/08/a-simple-quick-reusable-xml-parser-for-the-iphone/
我之所以选择它,是因为我无法让常规的网页与我的网页一起使用。然而,这个确实有效,因为在控制台中我得到了如下结果:
元素:x位数据:136父:某点
这来自我的主要实现文件中的代码:
[thisParser dumpRoot];
我的问题是,我怎么能以某种方式访问值136?如果我可以做object.x-position或者其他东西,那会很棒,但是我不确定这对于这个类是如何工作的。完整的课程可以在上述链接下载,似乎是一个很好的选择。
我非常感谢任何帮助,谢谢。
答案 0 :(得分:1)
解析器的前提似乎非常简单。完成解析后,它将为您提供NSDrray的NSArray。
你只需编写另一种利用它的方法..
像 -
-(NSString*) getElement:(NSString*)element fromArray:(NSArray *)array
{
for ( int i = 0 ; i < [array count] ; i++ )
{
NSDictionary* thisDict = [array objectAtIndex:i];
if ( [element isEqualToString:[thisDict objectForKey:@"element"]] )
return [thisDict objectForKey:@"data"];
else
{
NSString *ret = [self getElement:element fromArray:[thisDict objectForKey:@"children"]];
if ( ret == nil )
continue;
else
return ret;
}
}
return nil;
}
在SimpleParser.h中放置一个包装器方法
-(NSString*)getParsedElement:(NSString *)elementName;
在你的.m中实现 -
-(NSString *)getParsedElement:(NSString *)elementName
{
return [self getElement:elementName fromArray:theMainStack];
}
然后你可以这样称呼它 -
[thisParser getParsedElement:@"x-position";