基本上,我目前有一个可以在我的服务器上查询和解析XML文件的iPhone应用程序。现在,我目前必须每天早上手动更新和上传我的XML文件,以便我的用户可以获得更新的信息。我想自动化这个过程,这本质上需要解析各种网站(NYTimes,iAmBored.com等),从每个网站输出相关信息到XML文件,并将该文件上传到我的服务器。
有没有人知道实现这一目标的最佳方法(将HTML解析为XML文件)。由于我是初学者,我不确定这需要哪种语言或者最好的方法是什么?
提前多多感谢!
答案 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)
...用Java编写的兼容SAX的解析器 而不是解析良好的形式 或有效的XML,按原样解析HTML 在野外发现:贫穷,讨厌和 野蛮的,虽然经常很远 短。
TagSoup是专为人们设计的 谁必须处理这些东西 一些理性的外表 应用设计。
提供SAX 接口,它允许标准的XML 即使是最糟糕的工具也适用 HTML。 TagSoup还包括一个 读取HTML的命令行处理器 文件,可以生成干净 HTML或格式良好的XML 接近XHTML。