【问题标题】:Best Way to Parse HTML to XML将 HTML 解析为 XML 的最佳方法
【发布时间】:2011-05-03 01:53:30
【问题描述】:

基本上,我目前有一个 iPhone 应用程序,可以在我的服务器上查询和解析 XML 文件。现在,我目前必须每天早上手动更新和上传我的 XML 文件,这样我的用户才能获得更新的信息。我想自动化这个过程,这基本上需要解析各种网站(NYTimes、iAmBored.com 等),将每个网站的相关信息输出到 XML 文件,然后将该文件上传到我的服务器。

有谁知道完成此任务的最佳方法(将 HTML 解析为 XML 文件)。由于我是初学者,我不确定这需要什么语言或最好的方法是什么?

提前非常感谢!

【问题讨论】:

  • 您在服务器上使用什么平台/语言?

标签: iphone xml html-parsing


【解决方案1】:

您可以尝试translate HTML to XHTML(XHTML 是基于 XML 的,所以它是在 DTD 中定义了一些规则的 XML)。

你也可以试试to parse directly HTML with a SGML parser(XHTML是基于XML的,HTML是基于SGML的)。

这些链接是作为灵感提供的。

【讨论】:

    【解决方案2】:

    如果您需要抓取的内容是 XHTML,那么您可以轻松地使用 XSLT 语言将原始内容转换为您提供给用户的 XML 中所需的内容。

    否则任何类型的抓取和生成 XML 的解决方案都可以,每种编程语言都支持执行此类操作.. 但是您可以使用 XPath 从页面中选择您需要的元素,然后将它们保存在输出文件中.

    【讨论】:

      【解决方案3】:

      您能从 RSS/Atom 提要中获得您需要的信息吗?这将大大简化事情,因为它们是 XML 而不是 HTML,并且可以由标准 XML 解析器解析。当然,嵌入在 RSS 提要中的描述将是 HTML,因此根据您的应用程序,那个可能是您需要解析 HTML 的时候。

      XSLT 是一种专为处理 XML 而设计的特定领域的编程语言,但您也可以使用任何包含用于任务的 XML 解析器的编程语言。

      【讨论】:

        【解决方案4】:

        TagSoup - Just Keep On Truckin'

        ...用 Java 编写的符合 SAX 的解析器 那,而不是解析格式良好的 或有效的 XML,按原样解析 HTML 在野外发现:贫穷、肮脏和 野蛮的,虽然经常远离 短。

        TagSoup 是为人们设计的 谁必须使用 某种理性的表象 应用程序设计。

        通过提供 SAX 接口,它允许标准 XML 适用于最坏情况的工具 HTML。 TagSoup 还包括一个 读取 HTML 的命令行处理器 文件,并且可以生成干净的 HTML 或格式良好的 XML 非常接近 XHTML。

        另外,Taggle, a TagSoup in C++, available now

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-09-15
          • 2018-01-17
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-04-15
          • 1970-01-01
          相关资源
          最近更新 更多