【问题标题】:Make NSXMLParser skip an Element使 NSXMLParser 跳过一个元素
【发布时间】:2010-12-27 02:39:11
【问题描述】:

我在 iPhone 应用程序上使用 NSXMLParser 来解析 HTML 文件以获取 RSS 或 Atom 提要链接。

在解析器找到包含没有 CDATA 声明的 Javascript 代码的 <script> 元素之前一切正常,这会导致解析错误。

是否可以告诉解析器跳过所有名为<script>的元素?

【问题讨论】:

    标签: javascript iphone objective-c xhtml nsxmlparser


    【解决方案1】:

    为什么不直接实现 parser:parseErrorOccured: 并让它优雅地失败呢?我不相信有办法说“跳过这个元素”

    【讨论】:

    • 很遗憾我做不到,因为我需要提取 RSS Feed 的链接然后保存。我已经尝试了几个页面并且它可以工作(如果调用 parseErrorOccurred 也是如此),但是如果在链接标记之前有一个脚本标记,则解析器会中止而不做任何事情。
    【解决方案2】:

    据我所知,跳过一个元素是不可能的。但是,您可以使用正则表达式替换来过滤掉无效内容。

    另一种可能是在解析之前使用 Tidy 尝试清理它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多