解析XML并保存数据

问题描述:

我有一个问题,并不能真正找到这个直接的答案。解析XML并保存数据

我有一个应用程序,它从xml文件下载其所有内容。不幸的是,当用户没有互联网连接的应用程序是没用的。我希望我的应用程序在没有互联网的情况下也可以使用。

我现在想做的是检查是否有互联网,如果有,请下载并解析xml并检索所有图像和文本。接下来,我想保存这个,只有在用户请求时才刷新数据。如果没有互联网,应用程序应该直接到其保存的XML文件和其保存的图像等。

我需要知道如何保存图像和文本,这是甚至允许?我在哪里读过如何将图像保存到文档文件夹,但我可以说将会有大约300张图像,这不会是一个大混乱吗?这甚至允许吗?

此外,如何保存文本?是否有可能做到这一点与sqlite的组合和保存到文档文件夹?

Prastow

可以存储在plist中,而不是XML内容

设定值成的plist从plist中

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *docDir = [paths objectAtIndex:0]; 

NSString *Path =[NSString stringWithFormat:@"%@/%@.plist",docDir,@"Content"]; 


if ([[NSFileManager defaultManager] fileExistsAtPath:Path]) 
{ 

    NewsToDisplay=[[NSArray alloc]initWithArray:[NSKeyedUnarchiver unarchiveObjectWithData:[NSData dataWithContentsOfFile:Path]]]; 

} 
+0

但这只是

NSData * data = [NSKeyedArchiver archivedDataWithRootObject:YourDataArray]; NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *docDir = [paths objectAtIndex:0]; NSString *Path =[NSString stringWithFormat:@"%@/%@.plist",docDir,@"Content"]; NSLog(@"%@",Path); BOOL didWriteSuccessfull = [data writeToFile:Path atomically:YES]; if (didWriteSuccessfull) { NSLog(@"store succsessfully"); } else { NSLog(@"no"); } 

获取价值作品瓦特ith字符串是否正确? Plist没有uiimage的值,或者每个图像的值也可能是一个字符串;本地iphone文件夹的位置? – Prastow

+0

但是,如何将图像存储在XML你可以存储图像的URL在XML中,也可以在plist中发生。 – freelancer

+0

是的,但我想保存实际的图像,不仅图像的网址,图像应该能够查看没有互联网 – Prastow