【发布时间】:2012-09-10 09:47:35
【问题描述】:
我在 xml 中的 php 响应就是这种类型
<users>
<username>myemail</username>
<password>mypass</password>
</users>
现在这是我的 parseUrl 类
NSURL *parserUrl = [[[NSURL alloc] initWithString:urlString] autorelease];
NSXMLParser *parser = [[[NSXMLParser alloc] initWithContentsOfURL:parserUrl] autorelease];
[parser setDelegate:self];
- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict {
if ( [elementName isEqualToString:@"users"])
{
return;
}
if ( [elementName isEqualToString:@"username"] )
{
NSString *val = [attributeDict objectForKey:@"username"] ;
return;
}
}
现在的问题是,attributeDict 给出了 0 对。该函数正在读取username, password and users,这意味着它可以进入这个循环
if ( [elementName isEqualToString:@"username"] )
{
NSString *val = [attributeDict objectForKey:@"username"] ;
return;
}
但是我怎样才能检索到这个节点的值呢?
【问题讨论】:
-
不要在数组中返回和添加值,伙计.. :)
-
查看此链接的回复stackoverflow.com/questions/2005448/… :)
标签: php iphone objective-c cocoa-touch xml-parsing