Advertisement
Guest User

Untitled

a guest
Dec 5th, 2019
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Kotlin 1.66 KB | None | 0 0
  1. override fun doInBackground(vararg urls: URL): ArrayList<Valute> {
  2.  
  3.         val empList: ArrayList<Valute> = ArrayList()
  4.         val url = URL("https://www.cbr-xml-daily.ru/daily.xml")
  5.  
  6.         val builderFactory = DocumentBuilderFactory.newInstance()
  7.         val docBuilder = builderFactory.newDocumentBuilder()
  8.         val doc = docBuilder.parse(url.openStream())
  9.  
  10.         val nList = doc.getElementsByTagName("Valute")
  11.         for (i in 0 until nList.length) {
  12.  
  13.             val element = nList.item(i) as Element
  14.             empList.add(
  15.                 Valute(
  16.                     getNodeValue("NumCode", element),
  17.                     getNodeValue("CharCode", element),
  18.                     getNodeValue("Nominal", element),
  19.                     getNodeValue("Name", element),
  20.                     getNodeValue("Value", element)
  21.                 )
  22.             )
  23.         }
  24.  
  25.         return empList
  26.     }
  27.  
  28.     fun getData(data: ArrayList<Valute>): ArrayList<Valute> {
  29.         return data
  30.     }
  31.  
  32.     override fun onProgressUpdate(vararg values: Int?) {
  33.         super.onProgressUpdate(*values)
  34.     }
  35.  
  36.     override fun onPostExecute(result: ArrayList<Valute>) {
  37.         listener.onTaskCompleted(result)
  38.     }
  39.  
  40.     fun getNodeValue(tag: String, element: Element): String{
  41.         val nodeList = element.getElementsByTagName(tag)
  42.         val node = nodeList.item(0)
  43.         if(node != null){
  44.             if(node.hasChildNodes()){
  45.                 val child = node.firstChild
  46.                 while(child!=null){
  47.                     if(child.nodeType == Node.TEXT_NODE) return child.nodeValue
  48.                 }
  49.             }
  50.         }
  51.         return ""
  52.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement