Large diffs are not rendered by default.

@@ -0,0 +1,83 @@
//
// XMLParser.swift
// SplitAndPopover
//
// Created by Gabriel Theodoropoulos on 17/9/14.
// Copyright (c) 2014 Appcoda. All rights reserved.
//
import UIKit

@objc protocol XMLParserDelegate{
func parsingWasFinished()
}

class XMLParser: NSObject, NSXMLParserDelegate {

var arrParsedData = [Dictionary<String, String>]()

var currentDataDictionary = Dictionary<String, String>()

var currentElement = ""

var foundCharacters = ""

var delegate : XMLParserDelegate?


func startParsingWithContentsOfURL(rssURL: NSURL) {
let parser = NSXMLParser(contentsOfURL: rssURL)
parser!.delegate = self
parser!.parse()
}



//MARK: NSXMLParserDelegate method implementation
func parserDidEndDocument(parser: NSXMLParser) {
delegate?.parsingWasFinished()
}


func parser(parser: NSXMLParser, didStartElement elementName: String!, namespaceURI: String!, qualifiedName qName: String!, attributes attributeDict: [NSObject : AnyObject]) {

currentElement = elementName
}


func parser(parser: NSXMLParser, didEndElement elementName: String!, namespaceURI: String!, qualifiedName qName: String!) {
if !foundCharacters.isEmpty {

if elementName == "link"{
foundCharacters = (foundCharacters as NSString).substringFromIndex(3)
}

currentDataDictionary[currentElement] = foundCharacters

foundCharacters = ""

if currentElement == "pubDate" {
arrParsedData.append(currentDataDictionary)
}
}
}


func parser(parser: NSXMLParser, foundCharacters string: String!) {
if (currentElement == "title") || currentElement == "description" || currentElement == "link" || currentElement == "pubDate"{
foundCharacters += string
}
}


func parser(parser: NSXMLParser, parseErrorOccurred parseError: NSError!) {
println(parseError.description)
}


func parser(parser: NSXMLParser, validationErrorOccurred validationError: NSError!) {
println(validationError.description)
}

}
BIN +6.52 KB SentiStock/down.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN +6.4 KB up.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.