将HTML解析为XML的最佳方法

时间:2010-10-31 13:58:13

标签: iphone xml html-parsing

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

有没有人知道实现这一目标的最佳方法(将HTML解析为XML文件)。由于我是初学者,我不确定这需要哪种语言或者最好的方法是什么?

提前多多感谢!

4 个答案:

答案 0 :(得分:1)

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

您也可以尝试to parse directly HTML with a SGML parser(因为XHTML基于XML,HTML基于SGML)。

链接是作为灵感提供的。

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

您能从RSS / Atom供稿中获得所需吗?这将大大简化事情,因为它们是XML而不是HTML,可以通过标准XML解析器进行解析。当然,RSS源中嵌入的描述将是HTML,因此根据您的应用程序, 可能就在您需要解析HTML时。

XSLT是一种专门用于处理XML的特定于域的编程语言,但您也可以使用任何包含XML解析器的编程语言来完成任务。

答案 3 :(得分:0)

alt text TagSoup - Just Keep On Truckin' alt text

  

...用Java编写的兼容SAX的解析器   而不是解析良好的形式   或有效的XML,按原样解析HTML   在野外发现:贫穷,讨厌和   野蛮的,虽然经常很远   短。

     

TagSoup是专为人们设计的   谁必须处理这些东西   一些理性的外表   应用设计。

     

提供SAX   接口,它允许标准的XML   即使是最糟糕的工具也适用   HTML。 TagSoup还包括一个   读取HTML的命令行处理器   文件,可以生成干净   HTML或格式良好的XML   接近XHTML。

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