首先,我发现了这个: Objective C HTML escape/unescape,但它对我不起作用.
我编码的字符(来自RSS提要,顺便说一句)看起来像这样: &
我在网上搜索并找到了相关的讨论,但没有修复我的特定编码,我认为它们被称为十六进制字符.
想知道是否有一种简单的方法在Objective C中进行简单的HTML转义/ unescape.我想要的是这样的伪代码:
NSString *string = @"<span>Foo</span>";
[string stringByUnescapingHTML];
Run Code Online (Sandbox Code Playgroud)
哪个回报
<span>Foo</span>
Run Code Online (Sandbox Code Playgroud)
希望能够解决所有其他HTML实体,甚至是像Ӓ之类的ASCII代码.
Cocoa Touch/UIKit中有没有方法可以做到这一点?
我正在创建一个需要从网页获取一些数据的iOS应用程序.我的第一个是使用NSXMLParser initWithContentsOfURL:
和解析NSXMLParser
代表的HTML .然而,这种方法似乎很快就会变得痛苦(例如,如果改变了HTML,我将不得不重写解析代码,这可能很尴尬).
看到我正在加载一个网页,我也看了一下UIWebView
.看起来UIWebView
可能是要走的路.stringByEvaluatingJavaScriptFromString:
似乎是一种非常方便的方法来提取数据,并允许将javascript存储在一个单独的文件中,如果HTML发生变化,该文件很容易编辑.然而,使用UIWebView
似乎有点hacky(看作UIWebView
是一个UIView
子类,它可能会阻止主线程,并且文档说javascript有10MB的限制).
在我遇到困难之前,有没有人对解析XML/HTML有任何建议?
更新:
我写了一篇关于我的解决方案的博客文章:iOS中的HTML解析/屏幕抓取
iphone ×3
cocoa-touch ×2
html ×2
objective-c ×2
cocoa ×1
escaping ×1
ios ×1
nsxmlparser ×1
uiwebview ×1