我正在自学iOS,因此决定从Wordpress网站编写一个简单的RSS阅读器应用程序。一切正常,但现在我想尝试将页面存储在iOS中以便在离线时阅读。认为这是学习如何编码和存储数据的好方法。
读取XML节点并存储标题,描述等都很好,这是有效的。我得到的问题是在Feed中嵌入了图像。如果我阅读并存储'content:encoded'XML信息,那么在webView中查看它可以正常工作,除非我在离线时除了图像之外的一切都会工作,因为这只是一个HTML参考。
我想我想
a)识别图像URL,然后将其从内容中删除:编码 b)下载并存储在我的阵列中,与帖子相关联 c)然后再次读出图像。
或者采用不同方法但效果相似的东西。
如果有一种方法可以添加一个新的XML'featureimage'节点或类似节点,我认为这相对简单,但我看不出怎么做。
非常感谢关于这一点的任何想法/指示,非常感谢。
答案 0 :(得分:1)
我建议采用略有不同的方法,我认为应该让事情变得更容易:
您可以使用任何RegEx library for iOS来解析您的content:encoded
信息;
使用ASIHTTPRequest或NSUURLRequest下载图片并将其存储在本地;
content:encoded
信息:修改<img>
标记,使其src
属性设置为本地存储图像(而不是外部图像);你可以使用与第1点相同的方法来做到这一点。换句话说,你有一个像:
`<img src="http://xxxx.yyy.zzzz/image.png" />`
您可以将其更改为:
`<img src="image.png" />`
baseURL
:如果在调用baseURL
选择器时指定loadHTMLString:baseURL:
,则将根据您指定的baseURL解析任何“本地”uri。如果您决定将图像存储在文档目录中,则可以执行以下操作:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
[_label loadHTMLString:htmlString baseURL:[NSURL fileURLWithPath:documentsDirectory]];
以便任何图像如:
`<img src="localImage.png" />`
将在本地检索。
希望这有帮助。