2012-02-09 209 views
3

我剛剛瞭解瞭如何使用NSXMLPARSER解析Xcode中的數據。以XML代碼獲取HTML頁面

爲了做到這一點,顯然,我將需要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> 

所以,我怎麼能得到這樣的格式從網頁?

還有一兩件事:如果有人知道的NSXMLParser使用Xcode的,這是去從網站上提取數據的方式是什麼?我的意思是獲取一個xml文件,將其放入我們項目的資源中,然後從中提取數據?

回答

2

HTML也是XML。因此,如果您想要從任何給定網站提取數據,您需要獲取HTML(頁面的源代碼)並按「原樣」進行解析,然後查找所需的數據。

一個簡單的網站可能看起來像這樣:

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

正如你所看到的,這是有效的,簡潔(wellformed)XML。如果您對<title>感興趣,請解析此XML並查找<title> -tag。

的問題是,瀏覽器無法與HTML的編排良好如此嚴格。缺少<p>的結束標籤通常是可以接受的。 XML解析器通常不會那麼「好」併產生錯誤。

很多時候,網站有rss/atom-feeds。這些都是純XML,並且始終保持良好。這些提要用於獲取XML解析器容易解釋的數據。