2011-12-09 54 views
0

我正在研究Apple的LazyTableImages示例代碼。我想了解該應用程序如何從應用程序中包含的RSS提要中提取數據: http://phobos.apple.com/WebObjects/MZStoreServices.woa/ws/RSS/toppaidapplications/limit=75/xml瞭解蘋果示例代碼中的xml解析

上述url的內容是如何解析的?查看頁面源代碼揭示HTML沒有明顯的xml部分。在查看示例解析代碼時,我發現了幾個符號,如im:name。但是,這些符號不在上述url的內容中。

我試圖在本地託管上述url的內容(w/limit = 1)。但是,將示例代碼指向@"~/Desktop/a.xml"會導致應用程序拋出錯誤unsupported url

更多信息:在閱讀http://en.wikipedia.org/wiki/Rss時我遇到了我期望在上面的phobos鏈接中看到的內容。事情是這樣的:

<?xml version="1.0" encoding="UTF-8" ?> 
<rss version="2.0"> 
<channel> 
     <title>RSS Title</title> 
     <description>This is an example of an RSS feed</description> 
     <link>http://www.someexamplerssdomain.com/main.html</link> 
     <pubDate>Mon, 06 Sep 2009 16:45:00 +0000 </pubDate> 

     <item> 
       <title>Example entry</title> 
       <description>an interesting description</description> 
       <link>http://www.wikipedia.org/</link> 
       <guid>unique string per item</guid> 
       <pubDate>Mon, 06 Sep 2009 16:45:00 +0000 </pubDate> 
     </item> 

</channel> 
</rss> 

是否有相應的地方上面的火衛一鏈接等效「人類可讀的」 XML文檔?

回答

1

說得沒錯,你在技術上看的飼料不是RSS Feed。這是一個Atom 1.0供稿,但都是流行的基於XML的供稿格式。

如果您查看的原料來源,你會看到你正在尋找的XML元素,比如:解析RSS/Atom供稿

<entry> 
    <updated>2011-12-09T16:15:32-07:00</updated> 
    <id>http://itunes.apple.com/us/app/tetris/id479943969?mt=8&amp;uo=2</id> 
    <title>TETRIS® - Electronic Arts</title> 
    <summary>Long summary here</summary> 
    <im:name>TETRIS®</im:name> 
    ... 
</entry> 

有些瀏覽器版本爲用戶友好的HTML頁面和呈現出來這聽起來就像是你正在查看的HTML頁面的類型。

在一個OS X,你可以使用像捲曲的命令下載飼料在終端:

curl -o feed.xml http://phobos.apple.com/WebObjects/MZStoreServices.woa/ws/RSS/toppaidapplications/limit=75/xml 
+0

確定這是有道理的。我想自己託管飼料。然後修改Feed的內容。如何託管Atom 1.0格式的Feed? – SundayMonday