Advertisement
Guest User

xml

a guest
Sep 16th, 2018
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Swift 2.37 KB | None | 0 0
  1. //
  2. //  ViewController.swift
  3. //  MyXML
  4. //
  5. //  Created by Hackeru_Student on 9/16/18.
  6. //  Copyright © 2018 Hackeru_Student. All rights reserved.
  7. //
  8.  
  9. import UIKit
  10.  
  11. class ViewController: UIViewController,XMLParserDelegate {
  12.  
  13.     //string which display our result
  14.     var display:String = ""
  15.     //boolean which indicate an element name
  16.     var passName:Bool = false
  17.     var passCountry:Bool = false
  18.     //we need xml parser
  19.     var parser=XMLParser()
  20.    
  21.    
  22.     override func viewDidLoad() {
  23.         super.viewDidLoad()
  24.         //let start our work
  25.         print ("Loading XML")
  26.         let myUrl:String = "http://www.boi.org.il/currency.xml"
  27.         //convert to URL
  28.         let url:URL = URL(string: myUrl)!
  29.         //user our parser for getting the information
  30.         parser = XMLParser(contentsOf: url)!
  31.         //let the parser know that all the methods are here
  32.         parser.delegate=self
  33.         //create a boolean expression if we succesed to parse the xml
  34.         let success:Bool = parser.parse()
  35.         if success
  36.         {
  37.             print ("xml is gotta")
  38.             print ("our results:\n\(display)")
  39.         }
  40.         else
  41.         {
  42.             print ("we have an error")
  43.         }
  44.     }
  45.  
  46.     //start of element -> <NAME>
  47.     func parser(_ parser: XMLParser, didStartElement elementName: String, namespaceURI: String?, qualifiedName qName: String?, attributes attributeDict: [String : String] = [:]) {
  48.         switch elementName {
  49.         case "COUNTRY":
  50.             passCountry=true
  51.         case "NAME":
  52.             passName=true
  53.         default:
  54.             break
  55.         }
  56.     }
  57.    
  58.     //data inside element -> <name>DATA</name>
  59.     func parser(_ parser: XMLParser, foundCharacters string: String) {
  60.         if passName
  61.         {
  62.             display+="name:\(string) "
  63.         }
  64.         if passCountry
  65.         {
  66.             display+="Country:\(string)\n"
  67.         }
  68.     }
  69.  
  70.     func parser(_ parser: XMLParser, didEndElement elementName: String, namespaceURI: String?, qualifiedName qName: String?) {
  71.         switch elementName {
  72.         case "COUNTRY":
  73.             passCountry=false
  74.         case "NAME":
  75.             passName=false
  76.         default:
  77.             break
  78.         }
  79.        
  80.     }
  81.    
  82.     func parser(_ parser: XMLParser, parseErrorOccurred parseError: Error) {
  83.         print ("err:\(parseError)")
  84.     }
  85. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement