我刚刚了解了如何使用 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 文件,将其放入我们项目的资源中,然后从中提取数据?
最佳答案
HTML 也是 XML。因此,如果您想从任何给定网站提取数据,您将需要获取 HTML(页面源)并“按原样”解析它,然后查找您需要的数据。
一个简单的网站可能是这样的:
<html>
<head>
<title>My website</title>
</head>
<body>
<h1>welocome</h1>
Text
<p>paragraph</p>
</body>
</html>
如您所见,这是有效且格式良好的 XML。如果您对 <title>
感兴趣,解析此 XML 并查找 <title>
-标签。
问题是浏览器对 HTML 的格式没有那么严格。 <p>
缺少结束标记经常被容忍。 XML 解析器通常不会那么“好”并会产生错误。
网站通常有 rss/atom-feeds。这些是纯 XML,并且总是格式正确。创建这些提要的目的是获取 XML 解析器可以轻松解释的数据。
关于html - 获取 HTML 页面作为 XML 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9210280/