<account_order> <support/> <version buildNum="2042" buildDate="Thu Nov 29 10:40:45 EET 2007"/> <logged sessioncount="1073" visitscount="298"/> <locale language="ru"> <date id="20090807T17:21:59" traditional="07.08.2009">07 2009, 17:21:59</date> </locale> <request url_base="https://privat24.privatbank.ua/p24/" url="/accountorder" os="Win" win="Y" ie="N"/> <info> <role id="2"/> <dump exchange="" oper="prp" PUREXML="" apicour="" country="ru" /> </info> <exchangerate> <exchangerate ccy="EUR" ccy_name_ru="" ccy_name_ua="Є " ccy_name_en="Euro" base_ccy="RU" buy="450476" unit="1" date="2009-08-26 00:00:00.0"/> <exchangerate ccy="USD" ccy_name_ru=" " ccy_name_ua=" " ccy_name_en="US Dollar" base_ccy="RU" buy="315437" unit="1" date="2009-08-26 00:00:00.0"/> <exchangerate> </account_order>
public void getCurrencyClick(View v){ TextView tv = (TextView) findViewById(R.id.CurrencyTextView); try{ /* URL API, parse */ URL url = new URL("https://privat24.privatbank.ua/p24/accountorder?oper=prp&PUREXML&apicour&country=ua"); DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); DocumentBuilder db = dbf.newDocumentBuilder(); Document doc = db.parse(new InputSource(url.openStream())); doc.getDocumentElement().normalize(); /* , ; , , nodeList.getLength */ NodeList nodeList = doc.getElementsByTagName("exchangerate"); Node node = nodeList.item(0); // NamedNodeMap attributes = node.getFirstChild().getAttributes(); // buy Node currencyAttribEUR = attributes.getNamedItem("buy"); // ... String currencyValueEUR = currencyAttribEUR.getNodeValue(); // , Node dateCurrency = attributes.getNamedItem("date"); String dateCurrencyStr = dateCurrency.getNodeValue(); // tv.setText(" "+dateCurrencyStr+":"+currencyValueEUR+ ""); } catch (Exception e) { tv.setText(" "); }; }
Source: https://habr.com/ru/post/115054/
All Articles