我是iOS开发的新手。我找到RaptureXML并且它运行安静但我无法加载存储在用户目录中的数据。在我的应用程序目录中有一个“data.xml”工作正常,我可以用[RXMLElement elementFromXMLFile:@"data.xml"];
加载它。但现在我已经从Internet下载了一个文件,并使用以下行将它存储在我的用户目录中:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *filePath = [NSString stringWithFormat:@"%@/%@", [paths objectAtIndex:0],@"data.xml"];
计算的文件路径是
“/ Users / myname / Library / Application Support / iPhone 模拟器/ 6.0 /应用/ myapplicationguid /Documents/data.xml“
。
该文件存在,我已使用[[NSFileManager defaultManager] fileExistsAtPath:filename];
进行了检查。我也手动打开它并将RaptureXML中的示例XML文件的值放在那里,因此它不能在XML中出现任何不匹配或者其他....
但是当我使用[RXMLElement elementFromXMLFile:filename]
时,它不会返回任何内容......任何想法?
答案 0 :(得分:1)
我现在已经解决了:由于直接访问不起作用,我首先使用标准函数加载数据,然后将NSData传输到RaptureXML,如下所示:
NSError *error;
NSString* contents = [NSString stringWithContentsOfFile:filename
encoding:NSUTF8StringEncoding
error:&error];
NSData* xmlData = [contents dataUsingEncoding:NSUTF8StringEncoding];
RXMLElement *rss = [RXMLElement elementFromXMLData:xmlData];
答案 1 :(得分:0)
最好使用 initFromXMLFilePath:方法。
RXMLElement *rss = [[RXMLElement alloc]initFromXMLFilePath: filePath];