如何在iOS中从HTML中删除节点

时间:2012-02-19 13:07:43

标签: iphone html objective-c ios html-parsing

我要做的是将网页加载到UIWebView中。问题是我需要在html上进行一些预处理,然后才能在Web视图中显示它。

当html很大时,UIWebview loadHTMLString安静得很慢。我不需要显示整页,因此我试图删除一些html节点,然后在Web视图中显示它,以加快加载时间。

我认为使用正则表达式并不是一个明智的想法。我检查了NSXMLParser和TFHPPLE但我找不到任何方法使用XPath或其他东西从html树中删除节点。

我知道我可以使用Javascript来做到这一点,但这不会解决我的问题。我也没有对网站的控制权,因此我无法在网页上进行编辑。

有没有像deleteNodeUsingXPath那样简单的东西:)

在此之前为你的帮助干杯谢谢。

2 个答案:

答案 0 :(得分:0)

一种可能的解决方案:做一个剥离不需要的东西的代理网站。 iphone访问代理网站URL。代理网站从原始网站加载,删除不需要的东西,并回复剩余的东西。

答案 1 :(得分:0)

有一个名为Objective-C-HTML-Parser的工具可以满足您的需求。文档是全面的,实现非常简单。

基本上,您将获取HTML字符串并创建一个HTMLParser对象,然后您可以根据需要进行操作。它是一个非常强大的库,它基本上允许您使用易于使用的Objective-C API通过HTML执行任何操作。

祝你好运!