Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //
- // ViewController.swift
- // MyXML
- //
- // Created by Hackeru_Student on 9/16/18.
- // Copyright © 2018 Hackeru_Student. All rights reserved.
- //
- import UIKit
- class ViewController: UIViewController,XMLParserDelegate {
- //string which display our result
- var display:String = ""
- //boolean which indicate an element name
- var passName:Bool = false
- var passCountry:Bool = false
- //we need xml parser
- var parser=XMLParser()
- override func viewDidLoad() {
- super.viewDidLoad()
- //let start our work
- print ("Loading XML")
- let myUrl:String = "http://www.boi.org.il/currency.xml"
- //convert to URL
- let url:URL = URL(string: myUrl)!
- //user our parser for getting the information
- parser = XMLParser(contentsOf: url)!
- //let the parser know that all the methods are here
- parser.delegate=self
- //create a boolean expression if we succesed to parse the xml
- let success:Bool = parser.parse()
- if success
- {
- print ("xml is gotta")
- print ("our results:\n\(display)")
- }
- else
- {
- print ("we have an error")
- }
- }
- //start of element -> <NAME>
- func parser(_ parser: XMLParser, didStartElement elementName: String, namespaceURI: String?, qualifiedName qName: String?, attributes attributeDict: [String : String] = [:]) {
- switch elementName {
- case "COUNTRY":
- passCountry=true
- case "NAME":
- passName=true
- default:
- break
- }
- }
- //data inside element -> <name>DATA</name>
- func parser(_ parser: XMLParser, foundCharacters string: String) {
- if passName
- {
- display+="name:\(string) "
- }
- if passCountry
- {
- display+="Country:\(string)\n"
- }
- }
- func parser(_ parser: XMLParser, didEndElement elementName: String, namespaceURI: String?, qualifiedName qName: String?) {
- switch elementName {
- case "COUNTRY":
- passCountry=false
- case "NAME":
- passName=false
- default:
- break
- }
- }
- func parser(_ parser: XMLParser, parseErrorOccurred parseError: Error) {
- print ("err:\(parseError)")
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement