objective-c - 如何从 iOS 中的 xml 中提取文档流?

标签 objective-c ios uiwebview xml-parsing

我收到一个 XML 作为 Web 服务的响应。此 xml 中的一个标记实际上包含 Web 服务作为流发送的文档的内容。如果我尝试在解析为 NSString 后提取文档,然后将其转换为 NSData 以加载到 webView 中,UIwebView 将无法显示该文档并引发错误:

EXCEPTION CPMessageException: (null)

下面是我作为响应收到的 xml 示例(我无法提供确切的 xml,因为它是 secret 的):

<?xml version="1.0" ?><S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"><S:Body><content xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ns6:BinaryContent" pageModifier="" pageNumber="0" format="msw8"><ns6:renditionType>PRIMARY</ns6:renditionType><ns6:Value>0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPgADAP7/CQAGAAAAAAAAAAAAAAACAAAAvAAAAAAAAAAAEAAAvwAAAAEAAAD+////AAAAALoAAAC7AAAA///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////spcEABYAJBAAA+BK/AAAAAAAAEAAAAAAACAAAT0oAAA4AYmpiahr3GvcAAAAAAAAAAAAAAAAAAAAAAAAJBBYAOFoAAHidAAB4nQAAQUIAAAAAAAANAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//w8AAAAAAAAAAAD//w8AAAAAAAAAAAD//w8AAAAAAAAAAAAAAAAAAAAAALcAAAAAAO4bAAAAAAAA7hsAAGAoAAAAAAAAYCgAAAAAAABgKAAAAAAAAGAoAAAAAAAAYCgAABQAAAAAAAAAAAAAAP////8AAAAAdCgAAAAAAAB0KAAAAAAAAHQoAAA4AAAArCgAAAwAAAC4KAAANAAAAHQoAAAAAAAAyz4AAGYBAADsKAAAAAAAAOwoAAAAAAAA7CgAAAAAAADsKAAAAAAAAOwoAAAAAAAAHCsAAAAAAAAcKwAAAAAAABwrAAAAAAAASj4AAAIAAABMPgAAAAAAAEw+AAAAAAAATD4AAAAAAABMPgAAAAAAAEw+AAAAAAAATD4AACQAAAAxQAAAogIAANNCAABaAAAAcD4AABUAAAAAAAAAAAAAAAAAAAAAAAAAYCgAAAAAAAAcKwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcKwAAAAAAABwrAAAAAAAAHCsAAAAAAAAcKwAAAAAAAHA+AAAAAAAAAAAAAAAAAABgKAAAAAAAAGAoAAAAAAAA7CgAAAAAAAAAAAAAAAAAAOwoAAAwAgAAhT4AABYAAABaLAAAAAAAAFosAAAAAAAAWiwAAAAAAAAcKwAAygAAAGAoAAAAAAAA7CgAAAAAAABgKAAAAAAAAOwoAAAAAAAASj4AAAAAAAAAAAAAAAAAAFosAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHCsAAAAAAABKPgAAAAAAAAAAAAAAAAAAWiwAAAAAAABaLAAApgEAAJY7AACMAQAAAAAAA</ns6:Value></content></S:Body></S:Envelope>

我需要提取 <ns6:Value> ,其实就是一个文档的内容,显示在UIwebView中。 我需要一些这方面的指导。

最佳答案

终于找到解决办法了。基本上,流是以 base64 编码格式出现的。所以首先我需要解码,这将为我提供正确的 NSData。使用任何 base 64 编码/解码库。

关于objective-c - 如何从 iOS 中的 xml 中提取文档流?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12806785/

相关文章:

ios - 如何在 iOS 中下载带有图像、CSS 等内部资源的网页?

objective-c - 如何在 cocoa 中调用我的方法, self 不起作用

Objective-c 如何从终端应用程序制作 GUI 窗口

objective-c - 如何编码和解码 const char *

ios - 'NSInvalidArgumentException',原因 : '*** -[__NSArrayM insertObject:atIndex:]: object cannot be nil'

javascript - 滚动到 UIWebView 上的文本

ios - 自动完成文本字段和 Firebase

ios - 在 iOS 10 上安装应用程序 Developer Target 9.3

ios - Swift 3,显示一些 HTML 文本行

javascript - 在 Safari 中从 iOS 10 webapp 打开网站