仅从Wordpress网站获取文本,在iOS应用上显示

时间:2015-07-19 15:19:44

标签: ios xcode wordpress swift rss

有什么办法可以通过RSS Feed从Wordpress网站的文章中获取标题,作者,日期和文字?我正在尝试创建一个可以显示此信息的iOS应用程序(Xcode)。

编辑: 我目前正在使用rshankras'BlogReader代码从网站上获取文章,但它会显示该页面的实际链接。我希望能够访问文章的标题,作者,日期和文本,并能够自己格式化,而不是显示实际的网站。如果可行,我可以用什么工具来做这件事?

This是相关网站。

2 个答案:

答案 0 :(得分: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]

现在您拥有作者姓名,您可以在任何文本框或标签或任何支持文本的元素中显示它。您可以以相同的方式从该页面获取所有其他信息。我希望它有所帮助。

答案 1 :(得分: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>