2012-08-24 69 views
0

我有一個問題,並不能真正找到這個直接的答案。解析XML並保存數據

我有一個應用程序,它從xml文件下載其所有內容。不幸的是,當用戶沒有互聯網連接的應用程序是沒用的。我希望我的應用程序在沒有互聯網的情況下也可以使用。

我現在想做的是檢查是否有互聯網,如果有,請下載並解析xml並檢索所有圖像和文本。接下來,我想保存這個,只有在用戶請求時才刷新數據。如果沒有互聯網,應用程序應該直接到其保存的XML文件和其保存的圖像等。

我需要知道如何保存圖像和文本,這是甚至允許?我在哪裏讀過如何將圖像保存到文檔文件夾,但我可以說將會有大約300張圖像,這不會是一個大混亂嗎?這甚至允許嗎?

此外,如何保存文本?是否有可能做到這一點與sqlite的組合和保存到文檔文件夾?

Prastow

回答

0

可以存儲在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