2013-06-11 20 views
0

我是iOS開發新手。我發現RaptureXML,它工作安靜,但我無法加載我存儲在我的用戶目錄中的數據。在我的應用程序目錄中有一個「data.xml」工作正常,我可以加載它[RXMLElement elementFromXMLFile:@"data.xml"];。但現在我已經下載從互聯網上的文件,並使用這些行存儲在我的用戶目錄:RaptureXML無法從用戶路徑加載數據

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *filePath = [NSString stringWithFormat:@"%@/%@", [paths objectAtIndex:0],@"data.xml"]; 

計算的文件路徑是

「/用戶/ MYNAME /庫/ Application Support/iPhone 模擬器/ 6.0 /應用/ myapplicationguid /Documents/data.xml」

該文件存在,我檢查了[[NSFileManager defaultManager] fileExistsAtPath:filename];。我也已經手動打開了它,並將RaptureXML中的示例XML文件的值放在那裏,所以它不能與XML中的任何不匹配或其他...

但是當我使用[RXMLElement elementFromXMLFile:filename]時,它不會返回任何東西... 有任何想法嗎?

回答

1

我現在已經做了一個解決辦法:

NSError *error; 
    NSString* contents = [NSString stringWithContentsOfFile:filename 
                encoding:NSUTF8StringEncoding 
                 error:&error]; 
    NSData* xmlData = [contents dataUsingEncoding:NSUTF8StringEncoding]; 

    RXMLElement *rss = [RXMLElement elementFromXMLData:xmlData]; 
0

最好使用:直接訪問是不行的,我使用的是標準功能,然後轉移到NSData的RaptureXML這樣第一加載數據initFromXMLFilePath:方法。

RXMLElement *rss = [[RXMLElement alloc]initFromXMLFilePath: filePath];