парсинг из xml
задание - написать конвертер валют. нашёл xml от госбанка с курсом. проблема в том что не знаю как связать документы таким образом чтобы функция получала курс из xml.
<!-- vhod --> <SCRIPT LANGUAGE="JavaScript"> function roundToPennies(n) { pennies = n * 100; pennies = Math.round(pennies); strPennies = "" + pennies; len = strPennies.length; first = strPennies.substring(0, len - 2) + "."; last = strPennies.substring(len - 2, len); if(first == ".") { first = "0." } if(last.length == 1) { last += "0"; } return first + last; } //LEI function ComputeMDL() { MDL_countValue = document.forms['MoneyForm'].elements['MDL_box'].value; curs_USDValue = document.forms['MoneyForm'].elements['USD_curs'].value; curs_EURValue = document.forms['MoneyForm'].elements['EUR_curs'].value; { Money = eval(MDL_countValue); { cU = eval(curs_USDValue); cE = eval(curs_EURValue); count_USD = Money / cU; count_EUR = Money / cE; document.forms['0'].elements['USD_box'].value = roundToPennies(count_USD); document.forms['0'].elements['EUR_box'].value = roundToPennies(count_EUR); } } } //DOLLAR function ComputeUSD()//--> { USD_countValue = document.forms['MoneyForm'].elements['USD_box'].value; curs_USDValue = document.forms['MoneyForm'].elements['USD_curs1'].value; curs_EURValue = document.forms['MoneyForm'].elements['EUR_curs1'].value; { Money = eval(USD_countValue); { cD = eval(curs_USDValue); cE = eval(curs_EURValue); count_MDL = Money * cD; count_EUR = count_MDL / cE; document.forms['0'].elements['MDL_box'].value = roundToPennies(count_MDL); document.forms['0'].elements['EUR_box'].value = roundToPennies(count_EUR); } } } //EURO function ComputeEUR()//--> { EUR_countValue = document.forms['MoneyForm'].elements['EUR_box'].value; curs_USDValue = document.forms['MoneyForm'].elements['USD_curs2'].value; curs_EURValue = document.forms['MoneyForm'].elements['EUR_curs2'].value; { Money = eval(EUR_countValue); { cD = eval(curs_USDValue); cE = eval(curs_EURValue); count_MDL = Money * cE; count_USD = count_MDL / cD; document.forms['0'].elements['MDL_box'].value = roundToPennies(count_MDL); document.forms['0'].elements['USD_box'].value = roundToPennies(count_USD); } } } function clean_fields()//--> { document.forms['0'].elements['MDL_box'].value = ''; document.forms['0'].elements['USD_box'].value = ''; document.forms['0'].elements['EUR_box'].value = ''; } // --> </SCRIPT> <CENTER> <H1> </H1> <H1> </H1> <FORM NAME="MoneyForm"> <p> </p> <h1>Convertor valutar</h1> <table width="270" height="158" border="0"> <tr> <td width="33%" height="62"><div align="center"><img src="flaags/flag_md_big.gif" width="103" height="58" /></div></td> <td width="67%"><input name="MDL_box" type="text" onClick="clean_fields()" onKeyUp="ComputeMDL()" size="20" /> <input type="hidden" name="EUR_curs" value="16.50" /> <input type="hidden" name="USD_curs" value="12.40" /></td> </tr> <tr> <td height="62"><div align="center"><img src="flaags/us-lgflag.gif" width="103" height="58" /></div></td> <td><input type="Text" name="USD_box" size="20" onkeyup="ComputeUSD()" onClick="clean_fields()" /> <input type="hidden" name="EUR_curs1" value="16.50" /> <input type="hidden" name="USD_curs1" value="12.40" /> </td> </tr> <tr> <td height="60"><div align="center"><img src="flaags/EU.jpg" width="103" height="58" /></div></td> <td><input type="text" name="EUR_box" size="20" onKeyUp="ComputeEUR()" onClick="clean_fields()" /> <input type="hidden" name="EUR_curs2" value="16.50" /> <input type="hidden" name="USD_curs2" value="12.40" /></td> </tr> </table> </FORM> </CENTER> |
и собственно xml
This XML file does not appear to have any style information associated with it. The document tree is shown below. <ValCurs Date="15.07.2013" name="Ratele oficiale de schimb"> <Valute ID="47"> <NumCode>978</NumCode> <CharCode>EUR</CharCode> <Nominal>1</Nominal> <Name>Euro</Name> <Value>16.4864</Value> </Valute> <Valute ID="44"> <NumCode>840</NumCode> <CharCode>USD</CharCode> <Nominal>1</Nominal> <Name>Dolar S.U.A.</Name> <Value>12.6396</Value> </Valute> <Valute ID="36"> <NumCode>643</NumCode> <CharCode>RUB</CharCode> <Nominal>1</Nominal> <Name>Rubla rusa</Name> <Value>0.3860</Value> </Valute> <Valute ID="35"> <NumCode>946</NumCode> <CharCode>RON</CharCode> <Nominal>1</Nominal> <Name>Leu romanesc</Name> <Value>3.7297</Value> </Valute> <Valute ID="43"> <NumCode>980</NumCode> <CharCode>UAH</CharCode> <Nominal>1</Nominal> <Name>Hrivna ucraineana</Name> <Value>1.5501</Value> </Valute> <Valute ID="61"> <NumCode>784</NumCode> <CharCode>AED</CharCode> <Nominal>1</Nominal> <Name>Dirham E.A.U.</Name> <Value>3.4412</Value> </Valute> <Valute ID="64"> <NumCode>008</NumCode> <CharCode>ALL</CharCode> <Nominal>10</Nominal> <Name>Lek albanez</Name> <Value>1.1745</Value> </Valute> <Valute ID="1"> <NumCode>051</NumCode> <CharCode>AMD</CharCode> <Nominal>10</Nominal> <Name>Dram armenesc</Name> <Value>0.3084</Value> </Valute> <Valute ID="3"> <NumCode>036</NumCode> <CharCode>AUD</CharCode> <Nominal>1</Nominal> <Name>Dolar australian</Name> <Value>11.4585</Value> </Valute> <Valute ID="4"> <NumCode>944</NumCode> <CharCode>AZN</CharCode> <Nominal>1</Nominal> <Name>Manat azer</Name> <Value>16.1230</Value> </Valute> <Valute ID="6"> <NumCode>975</NumCode> <CharCode>BGN</CharCode> <Nominal>1</Nominal> <Name>Leva bulgara</Name> <Value>8.4292</Value> </Valute> <Valute ID="50"> <NumCode>974</NumCode> <CharCode>BYR</CharCode> <Nominal>100</Nominal> <Name>Rubla bielorusa</Name> <Value>0.1427</Value> </Valute> <Valute ID="8"> <NumCode>124</NumCode> <CharCode>CAD</CharCode> <Nominal>1</Nominal> <Name>Dolar canadian</Name> <Value>12.1763</Value> </Valute> <Valute ID="9"> <NumCode>756</NumCode> <CharCode>CHF</CharCode> <Nominal>1</Nominal> <Name>Franc elvetian</Name> <Value>13.3069</Value> </Valute> <Valute ID="54"> <NumCode>156</NumCode> <CharCode>CNY</CharCode> <Nominal>1</Nominal> <Name>Yuan Renminbi chinezesc</Name> <Value>2.0592</Value> </Valute> <Valute ID="10"> <NumCode>203</NumCode> <CharCode>CZK</CharCode> <Nominal>1</Nominal> <Name>Coroana ceha</Name> <Value>0.6346</Value> </Valute> <Valute ID="12"> <NumCode>208</NumCode> <CharCode>DKK</CharCode> <Nominal>1</Nominal> <Name>Coroana daneza</Name> <Value>2.2105</Value> </Valute> <Valute ID="17"> <NumCode>826</NumCode> <CharCode>GBP</CharCode> <Nominal>1</Nominal> <Name>Lira sterlina</Name> <Value>19.0965</Value> </Valute> <Valute ID="18"> <NumCode>981</NumCode> <CharCode>GEL</CharCode> <Nominal>1</Nominal> <Name>Lari georgian</Name> <Value>7.6234</Value> </Valute> <Valute ID="63"> <NumCode>344</NumCode> <CharCode>HKD</CharCode> <Nominal>1</Nominal> <Name>Dolar Hong Kong</Name> <Value>1.6293</Value> </Valute> <Valute ID="20"> <NumCode>191</NumCode> <CharCode>HRK</CharCode> <Nominal>1</Nominal> <Name>Kuna croata</Name> <Value>2.1880</Value> </Valute> <Valute ID="21"> <NumCode>348</NumCode> <CharCode>HUF</CharCode> <Nominal>100</Nominal> <Name>Forint ungar</Name> <Value>5.6373</Value> </Valute> <Valute ID="49"> <NumCode>376</NumCode> <CharCode>ILS</CharCode> <Nominal>1</Nominal> <Name>Shekel israelian</Name> <Value>3.5094</Value> </Valute> <Valute ID="65"> <NumCode>356</NumCode> <CharCode>INR</CharCode> <Nominal>10</Nominal> <Name>Rupia indiana</Name> <Value>2.1095</Value> </Valute> <Valute ID="23"> <NumCode>352</NumCode> <CharCode>ISK</CharCode> <Nominal>10</Nominal> <Name>Coroana islandeza</Name> <Value>1.0271</Value> </Valute> <Valute ID="25"> <NumCode>392</NumCode> <CharCode>JPY</CharCode> <Nominal>100</Nominal> <Name>Yen japonez</Name> <Value>12.7140</Value> </Valute> <Valute ID="26"> <NumCode>417</NumCode> <CharCode>KGS</CharCode> <Nominal>10</Nominal> <Name>Som kirghiz</Name> <Value>2.5872</Value> </Valute> <Valute ID="66"> <NumCode>410</NumCode> <CharCode>KRW</CharCode> <Nominal>100</Nominal> <Name>Won sud-coreean</Name> <Value>1.1240</Value> </Valute> <Valute ID="59"> <NumCode>414</NumCode> <CharCode>KWD</CharCode> <Nominal>1</Nominal> <Name>Dinar kuweitian</Name> <Value>44.2145</Value> </Valute> <Valute ID="27"> <NumCode>398</NumCode> <CharCode>KZT</CharCode> <Nominal>10</Nominal> <Name>Tenghe kazah</Name> <Value>0.8285</Value> </Valute> <Valute ID="28"> <NumCode>440</NumCode> <CharCode>LTL</CharCode> <Nominal>1</Nominal> <Name>Lit lituanian</Name> <Value>4.7747</Value> </Valute> <Valute ID="29"> <NumCode>428</NumCode> <CharCode>LVL</CharCode> <Nominal>1</Nominal> <Name>Lat leton</Name> <Value>23.4632</Value> </Valute> <Valute ID="62"> <NumCode>807</NumCode> <CharCode>MKD</CharCode> <Nominal>10</Nominal> <Name>Denar macedonian</Name> <Value>2.6734</Value> </Valute> <Valute ID="56"> <NumCode>458</NumCode> <CharCode>MYR</CharCode> <Nominal>1</Nominal> <Name>Ringgit malayezian</Name> <Value>3.9778</Value> </Valute> <Valute ID="32"> <NumCode>578</NumCode> <CharCode>NOK</CharCode> <Nominal>1</Nominal> <Name>Coroana norvegiana</Name> <Value>2.0871</Value> </Valute> <Valute ID="53"> <NumCode>554</NumCode> <CharCode>NZD</CharCode> <Nominal>1</Nominal> <Name>Dolar neozeelandez</Name> <Value>9.8721</Value> </Valute> <Valute ID="33"> <NumCode>985</NumCode> <CharCode>PLN</CharCode> <Nominal>1</Nominal> <Name>Zlot polonez</Name> <Value>3.8111</Value> </Valute> <Valute ID="48"> <NumCode>941</NumCode> <CharCode>RSD</CharCode> <Nominal>100</Nominal> <Name>Dinar sirb</Name> <Value>14.4875</Value> </Valute> <Valute ID="37"> <NumCode>752</NumCode> <CharCode>SEK</CharCode> <Nominal>1</Nominal> <Name>Coroana suedeza</Name> <Value>1.8943</Value> </Valute> <Valute ID="51"> <NumCode>972</NumCode> <CharCode>TJS</CharCode> <Nominal>1</Nominal> <Name>Somoni tadjic</Name> <Value>2.6514</Value> </Valute> <Valute ID="60"> <NumCode>934</NumCode> <CharCode>TMT</CharCode> <Nominal>1</Nominal> <Name>Manat turkmen</Name> <Value>4.4349</Value> </Valute> <Valute ID="42"> <NumCode>949</NumCode> <CharCode>TRY</CharCode> <Nominal>1</Nominal> <Name>Lira turceasca</Name> <Value>6.4443</Value> </Valute> <Valute ID="45"> <NumCode>860</NumCode> <CharCode>UZS</CharCode> <Nominal>100</Nominal> <Name>Sum uzbek</Name> <Value>0.6023</Value> </Valute> <Valute ID="46"> <NumCode>960</NumCode> <CharCode>XDR</CharCode> <Nominal>1</Nominal> <Name>D.S.T.</Name> <Value>18.9748</Value> </Valute> </ValCurs> |
приведите пожалуйста пример считывания любого курса из xml
|
это пример с jquery
var xml = $.parseXML( ваш XML ); name_val = $(xml).find('#47').find('Name').text() kurs_val = $(xml).find('#47').find('Value').text() alert(name_val + ' - ' + kurs_val) |
спасибо большое!
|
Часовой пояс GMT +3, время: 21:36. |