我正在替换一个简单的initWithContentsOfURL:用动态HttpGet传递两个参数,并且该网页返回与XML文本格式完全相同的数据。Http获取XML格式的plist到数组或文件,然后到数组?
我真的必须解析数据才能把它存入一个字典数组吗?我希望获得NSXMLParser的initWithData:然后用一些自动的方式初始化一个带有所有节点的NSArray,遵循XML。 (这是一个XML格式的plist,所以它的结构和所有键名都已经存在了,为什么我还得写Objective-C中所有的副本?)
我很高兴与httpgetting到一个文本文件,然后NSArray initWithContentsOfFile。
编辑:这会产生一个大小为26K的NSData对象,但错误消息“字符串转换失败,字符串为空”。
//Initiate connection
NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init] autorelease]; [request setURL:url(aspurl)];
[request setHTTPMethod:@"GET"];
//keep adding your headers this way
NSString *accept = [NSString stringWithFormat:@"application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,/*;q=0.5"];
[request addValue:accept forHTTPHeaderField: @"Accept"];
//send request & get response
NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
NSString *errString;
NSMutableArray *arr=[NSPropertyListSerialization propertyListFromData:returnData
mutabilityOption:NSPropertyListMutableContainers
format: NULL
errorDescription:&errString];
if (errString)
{
NSLog(@"%@",errString);
[errString release]; // exception to the rules
}
这给出错误“字符串转换失败,字符串为空”。而arr是0x0。
任何人都可以指出我的错误吗?
如果您需要轻松解析,从而导致字典和数组,并且您可以对API进行更改,请使用json框架使用JSON。 – 2011-05-27 07:25:38