获取HTML页面作为XML代码

时间:2012-02-09 11:45:42

标签: html xml xcode nsxmlparser

我刚学会了如何使用NSXMLPARSER解析Xcode中的数据。

为了做到这一点,显然,我需要xml文件,但我仍然是网络编程的初学者。

我在从网页上获取xml文件时遇到困难。我尝试使用一些软件将html转换为xml,但我仍然没有得到我想要的格式。

我想要的格式应该类似于:

<?xml version="1.0" encoding="UTF-8"?>
<Books>
    <Book id="1">
        <title>Circumference</title>
        <author>Nicholas Nicastro</author>
        <summary>Eratosthenes and the Ancient Quest to Measure the Globe.</summary>
    </Book>
    <Book id="2">
        <title>Copernicus Secret</title>
        <author>Jack Repcheck</author>
        <summary>How the scientific revolution began</summary>
    </Book>
</Books>

那么如何从网页上获得这样的格式呢?

还有一件事:如果有人知道使用Xcode的NSXMLPARSER,这是从网站中提取数据的方法吗?我的意思是获取一个xml文件,将它放在我们项目的资源中,然后从中提取数据?

1 个答案:

答案 0 :(得分:2)

HTML也是XML。因此,如果您想从任何给定的网站提取数据,您需要获取HTML(页面的来源)并解析它&#34;按原样#34;然后查找您需要的数据。

一个简单的网站可能如下所示:

<html>
  <head>
    <title>My website</title>
  </head>
  <body>
    <h1>welocome</h1>
    Text
    <p>paragraph</p>
  </body>
</html>

正如您所看到的,这是有效的,格式良好的XML。如果您对<title>感兴趣,请解析此XML并查找<title> - 标记。

问题在于浏览器对HTML的良好性不那么严格。 <p>的缺失结束标记通常是可以容忍的。 XML解析器通常不会那样&#34;很好&#34;并产生错误。

网站经常有rss / atom-feeds。这些是纯XML,并且始终处于良好状态。这些提要是为了获取XML解析器容易解释的数据。