2015-07-19 43 views
1

有沒有什麼辦法可以通過RSS提要從Wordpress網站的文章中獲取標題,作者,日期和文本?我正在嘗試創建一個可顯示此信息的iOS應用程序(Xcode)。只從Wordpress網站獲取文本,在iOS應用上顯示

編輯: 我目前使用rshankras的'BlogReader代碼從網站獲取文章,但它顯示了實際的鏈接到頁面。我希望能夠訪問文章的標題,作者,日期和文本,並且能夠自己設置格式,而不是讓實際網站顯示出來。如果可行,我可以使用哪些工具來做到這一點?

This是有問題的網站。

回答

1

由於RSS採用結構化XML格式,因此您可以簡單地獲取頁面的rss feed並解析所需數據的元素。看到一些如何編碼,可以簽出mwaterfalls' Feedparser

e.g

<title>Girls softball dominating early</title> 
<link> 
http://vikinglogue.com/2377/sports/girls-softball-dominating-early/ 
</link> 
<comments> 
http://vikinglogue.com/2377/sports/girls-softball-dominating-early/#comments 
</comments> 
<pubDate>Wed, 22 Apr 2015 21:54:32 +0000</pubDate> 
3

您正在使用現成的應用程序,所以我認爲,你將不得不修改自己成爲你的目的。要按需顯示內容,您需要操作HTML內容,而不是在WebView中查看它。

在您的應用程序中,WebView元素位於PostViewController.swift文件中。所以如果你把下面的代碼放在那個文件的第24行中,你會得到正在被請求的URL。

println(url) 

此代碼在控制檯中打印輸出。現在,你知道的網址。你可以簡單地獲取HTML代碼和操作並顯示爲你的心臟想使用方式如下:

let pageurl = NSURL(string: url) //you got the url variable 3 lines above 
let task = NSURLSession.sharedSession().dataTaskWithURL(pageurl!) { 
(data, response, errror) in 
if error == nil { 
var urlContent = NSString(data: data, encoding: NSUTF8StringEncoding) as NSString! 
println(urlContent) 
} 
} 

這將打印使用UTF-8編碼的完整的HTML代碼字符串。

現在在postViewController中,不是使用WebView元素,而是使用標籤或文本框或任何想要顯示內容的內容。然後爲該元素創建一個出口。然後通過下面的方式操縱HTML代碼字符串:

var urlContentArray = urlContent?.componentSeparatedByString("<span class=\"storybyline\">") // In your website (vikinglogue.com) your author name is inside this span element. 
println(urlContentArray[1]) // This will print everything after that span section in your console 
var authorArray = urlContentArray[1].componentSeparatedByString("</span>") 
var author = authorArray[0] 

現在你有作者的名字,你可以顯示它在任何文本框或標籤或在支持文本的任何元素。您可以用相同的方式從該頁面抓取所有其他信息。我希望它有幫助。

+0

會給這個鏡頭 - 絕對是一個可行的解決方案。謝謝! – JtiFe