0

我是 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 Simulator/6.0/Applications/ myapplicationguid /Documents/data.xml”

.

该文件存在,我已经用[[NSFileManager defaultManager] fileExistsAtPath:filename];. 我还手动打开了它,并将来自 RaptureXML 的示例 XML 文件中的值放在那里,所以它不可能是 XML 中的任何不匹配,否则......

但是当我使用[RXMLElement elementFromXMLFile:filename]它时不会返回任何东西......有什么想法吗?

4

2 回答 2

1

我现在做了一个解决方法:由于直接访问不起作用,我首先使用标准函数加载数据,然后将 NSData 传输到 RaptureXML,如下所示:

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

    RXMLElement *rss = [RXMLElement elementFromXMLData:xmlData];
于 2013-06-14T06:17:27.343 回答
0

最好使用initFromXMLFilePath:方法。

 RXMLElement *rss = [[RXMLElement alloc]initFromXMLFilePath: filePath];
于 2014-04-13T21:22:49.670 回答