парсинг из 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, время: 13:14. |