我有一个本地xml文件,我知道它包含UTF-8格式良好的xml。但是NSXMLParser不会解析correclty。
档案路径:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *appFile = [documentsDirectory stringByAppendingPathComponent:@"example.xml"];
从网上保存xml:
NSURL *xml = [NSURL URLWithString:@"http://www.example.com/example.xml"];
NSString *data = [[NSString alloc] initWithContentsOfURL:xml encoding:NSUTF8StringEncoding error:nil];
[data writeToFile:appFile atomically:YES encoding:NSUTF8StringEncoding error:nil];
解析xml:
NSURL *xmlFile = [NSURL URLWithString:appFile];
NSXMLParser *addressParser = [[NSXMLParser alloc] initWithContentsOfURL:xmlFile];
如果我尝试直接解析NSURL“xml”它可以工作,但上面的代码将返回NULL并且没有错误。我在论坛上发现了另一篇文章,描述了完全相同的内容,但我再也找不到了,帖子没有答案。
希望有人可以帮忙!基本上只需要将web xml存储到文件中,然后将其提供给NSXMLParser。
答案 0 :(得分:6)
更改此行:
NSURL *xmlFile = [NSURL URLWithString:appFile];
到此:
NSURL *xmlFile = [NSURL fileURLWithPath:appFile];
因为appFile是本地文件系统路径而不是Internet URL。