对于我的应用程序,我从Internet下载包含XML的文件,必须进行解析。 我遇到的问题是:一旦下载文件,我尝试将其内容加载到NSData变量中,这样我就可以调用解析函数,但是我没有得到预期的结果。
所以程序是这样的:
我使用URLSession下载文件(这是正确的,因为我已手动打开文件并验证其内容是否有效)
let task = downloadsSession.downloadTask(with:lobj_Request as URLRequest)
task.resume()
委托方法didFinishDownloadingToURL被触发,我用它来尝试将文件内容加载到NSData变量中
让xmlData = NSData(contentsOf:location.absoluteURL)
我打印xmlData的内容,而不是获取xml,我得到这样的内容:
所以我不知道我做错了什么。
任何提示,帮助或建议都将受到赞赏。
此致
答案 0 :(得分:0)
是否有理由使用NSData?我建议直接使用字符串:
onActivityResult()
答案 1 :(得分:0)
您会看到NSData的原始字节 - 您希望看到原始字节所代表的“已解码字符串内容”。
所以xmlData可能是一串数字,每个都是一个字节:
7402874 243721 2342111 2342342 234234
表示的字符串由表示的字符组合而成:
let xmlString = String(WithData:xmlData, encoding:NSUTF8StringEncoding)
将其添加到会话的任务完成块中 - 不要尝试使用会话的代表。