Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   как использовать данные из .xml в скрипте (https://javascript.ru/forum/misc/40109-kak-ispolzovat-dannye-iz-xml-v-skripte.html)

bshp 24.07.2013 10:09

как использовать данные из .xml в скрипте
 
написал конвертер валют, (использует переменные вписанные в функции) проблема в том что не получается выводить данные из .xml документа.

пробовал так
var xml = $.parseXML(official_exchange_rates.xml);
 
name_val = $(xml).find('#47').find('Name').text()
kurs_val   = $(xml).find('#47').find('Value').text()

name_val1 = $(xml).find('#44').find('Name').text()
kurs_val1   = $(xml).find('#44').find('Value').text()


но при использовании в функциях нет никакого эффекта. можете подсказать что не правильно?

работаю с документом скаченным так как сервер нацбанка банит за большое количество запросов.

http://bnm.md/md/official_exchange_r...ate=23.07.2013

ОлегА 24.07.2013 11:04

скиньте кусок xml кода сюда а то у меня нет доступа к левым сайтам

bshp 24.07.2013 11:23

ОлегА,
<?xml version="1.0" encoding="UTF-8" ?>
<ValCurs Date="23.07.2013" name="Ratele oficiale de schimb">
<Valute ID="47">
  <NumCode>978</NumCode>
  <CharCode>EUR</CharCode>
  <Nominal>1</Nominal>
  <Name>Euro</Name>
  <Value>16.8788</Value>
</Valute>
<Valute ID="44">
  <NumCode>840</NumCode>
  <CharCode>USD</CharCode>
  <Nominal>1</Nominal>
  <Name>Dolar S.U.A.</Name>
  <Value>12.8039</Value>
</Valute>

</ValCurs>

bshp 24.07.2013 11:37

я пробовал как-то так
name_val = $(xml).find('#47').find('Name').text()
kurs_val   = $(xml).find('#47').find('Value').text()

name_val1 = $(xml).find('#44').find('Name').text()
kurs_val1   = $(xml).find('#44').find('Value').text()

но не работает. может быть неправильно загружаю?
function getXMLDocument(url)
{
    var xml;
    if(window.XMLHttpRequest)
    {
        xml=new window.XMLHttpRequest();
        xml.open("GET", doc.xml, false);
        xml.send("");
        return xml.responseXML;
    }
    else
        if(window.ActiveXObject)
        {
            xml=new ActiveXObject("Microsoft.XMLDOM");
            xml.async=false;
            xml.load(doc.xml);
            return xml;
        }
        else
        {
            alert("cannot load .xml");
            return null;
        }
}

ОлегА 24.07.2013 11:52

не знаю почему, но ему не нравятся ID то что он в верхнем регистре, если сделать id в нижнем регистре, то работает код

bshp 24.07.2013 11:54

обьясни пожалуйста по подробней.

разве числа тоже в 2 регистрах или имеется в виду имя атрибута?

ОлегА 24.07.2013 11:56

вот так работает
<?xml version="1.0" encoding="UTF-8" ?>
<ValCurs Date="23.07.2013" name="Ratele oficiale de schimb">
<Valute id="47">
  <NumCode>978</NumCode>
  <CharCode>EUR</CharCode>
  <Nominal>1</Nominal>
  <Name>Euro</Name>
  <Value>16.8788</Value>
</Valute>
<Valute id="44">
  <NumCode>840</NumCode>
  <CharCode>USD</CharCode>
  <Nominal>1</Nominal>
  <Name>Dolar S.U.A.</Name>
  <Value>12.8039</Value>
</Valute>

</ValCurs>

bshp 24.07.2013 12:04

тот же код для получения xml использовали? странно, я пробую вывезти данные и в функцию, и в input, и в адресную строку POSТом но безрезультатно.


Часовой пояс GMT +3, время: 01:40.