整個RSS提要的XML數據我迅速的編程是新.. 我想在迅速解析XML數據..如何解析在迅速
這是我的XML數據..
<rss version="2.0">
<channel>
<title>Zee News :India National</title>
<link>
<![CDATA[ http://zeenews.india.com ]]>
</link>
<description>
<![CDATA[
Visit Zee News for latest India news, get latest news from India and all over the world. We provide you latest celebrity news, latest bollywood news and entertainment news with fastest top stories online about cricket, sports, business, bollywood, entertainment, lifestyle, world and science to get yourself updated.
]]>
</description>
<language>en-us</language>
<copyright>Zee News Ltd</copyright>
<category>India National News</category>
<pubDate>
<![CDATA[ 2/04/2016 11:16:57 AM GMT ]]>
</pubDate>
<image>
<url>
<![CDATA[
http://znn.india.com/images/logo-zeenews-aab-nw.jpg
]]>
</url>
<title>
<![CDATA[ Zee News ]]>
</title>
<link>
<![CDATA[ http://zeenews.india.com ]]>
</link>
</image>
<item>
<title>
Son of retired Major General arrested in Goa for suspected `terror links`
</title>
<link>
<![CDATA[
http://zeenews.india.com/news/india/son-of-retired-major-general-arrested-in-goa-for-suspected-terror-links_1852160.html
]]>
</link>
<description>
Samir Sardana was picked up from Vasco railway station after he was found "wandering suspiciously".
</description>
<comments>mailto:[email protected]</comments>
<pubdate>Thursday, February 04, 2016, 10:13 GMT +5:30</pubdate>
<author/>
<guid isPermaLink="false">
<![CDATA[
http://zeenews.india.com/news/india/son-of-retired-major-general-arrested-in-goa-for-suspected-terror-links_1852160.html
]]>
</guid>
</item>
我試圖解析,但只有「項」數據可以解析不是「標題」 &「圖像」
這裏是我的代碼...
var parser = NSXMLParser()
var posts = NSMutableArray()
var elements = NSMutableDictionary()
var element = NSString()
var title1 = NSMutableString()
var title3 = NSMutableString()
var date = NSMutableString()
var link = NSMutableString()
func beginParsing()
{
posts = []
parser = NSXMLParser(contentsOfURL:(NSURL(string:"http://zeenews.india.com/rss/india-national-news.xml"))!)!
parser.delegate = self
parser.parse()
tbData!.reloadData()
}
func parser(parser: NSXMLParser, didStartElement elementName: String, namespaceURI: String?, qualifiedName qName: String?,attributes attributeDict:[NSObject :AnyObject])
{
if (elementName as NSString).isEqualToString("title")
{
elements = NSMutableDictionary.alloc()
title3 = NSMutableString()
title3 = ""
}
if (elementName as NSString).isEqualToString("item")
{
elements = NSMutableDictionary.alloc()
elements = [:]
title1 = NSMutableString()
title1 = ""
date = NSMutableString()
date = ""
link = NSMutableString()
link = ""
}
}
func parser(parser: NSXMLParser, didEndElement elementName: String, namespaceURI: String?, qualifiedName qName: String?)
{
if (elementName as NSString).isEqualToString("title")
{
if !title3.isEqual(nil) {
elements.setObject(title3, forKey: "title")
//posts.addObject(elements)
}
}
if (elementName as NSString).isEqualToString("item") {
if !title1.isEqual(nil) {
elements.setObject(title1, forKey: "title")
}
if !date.isEqual(nil) {
elements.setObject(date, forKey: "date")
}
if !link.isEqual(nil){
elements.setObject(link, forKey: "link")
}
posts.addObject(elements)
}
//posts.addObject(elements)
//posts.addObject(post)
}
func parser(parser: NSXMLParser, foundCharacters string: String?)
{
if element.isEqualToString("title")
{
title3.appendString(string!)
}
if element.isEqualToString("title") {
title1.appendString(string!)
}
if element.isEqualToString("link"){
link.appendString(string!)
}
if element.isEqualToString("pubDate") {
date.appendString(string!)
}
}
Plz ...建議任何解決方案如何我可以解析整個rss feed數據...
可能的重複[如何使用Swift製作RSS閱讀器](http://stackoverflow.com/questions/24468338/how-do-you-make-a-rss-reader-using-swift) – Abhijeet
There很少有解析XML數據的github項目。 1. [鏈接](https://github.com/wantedly/swift-rss-sample) 2. [鏈接](https://github.com/tibo/SwiftRSS) – Abhijeet