Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- override fun doInBackground(vararg urls: URL): ArrayList<Valute> {
- val empList: ArrayList<Valute> = ArrayList()
- val url = URL("https://www.cbr-xml-daily.ru/daily.xml")
- val builderFactory = DocumentBuilderFactory.newInstance()
- val docBuilder = builderFactory.newDocumentBuilder()
- val doc = docBuilder.parse(url.openStream())
- val nList = doc.getElementsByTagName("Valute")
- for (i in 0 until nList.length) {
- val element = nList.item(i) as Element
- empList.add(
- Valute(
- getNodeValue("NumCode", element),
- getNodeValue("CharCode", element),
- getNodeValue("Nominal", element),
- getNodeValue("Name", element),
- getNodeValue("Value", element)
- )
- )
- }
- return empList
- }
- fun getData(data: ArrayList<Valute>): ArrayList<Valute> {
- return data
- }
- override fun onProgressUpdate(vararg values: Int?) {
- super.onProgressUpdate(*values)
- }
- override fun onPostExecute(result: ArrayList<Valute>) {
- listener.onTaskCompleted(result)
- }
- fun getNodeValue(tag: String, element: Element): String{
- val nodeList = element.getElementsByTagName(tag)
- val node = nodeList.item(0)
- if(node != null){
- if(node.hasChildNodes()){
- val child = node.firstChild
- while(child!=null){
- if(child.nodeType == Node.TEXT_NODE) return child.nodeValue
- }
- }
- }
- return ""
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement