Товарищи, я совсем запутался. Про XPath почитал на предложенном сайте, но все равно не очень понял как осуществить задуманное.
XML тащу в сафари вот так : var URL = "http://bank-ua.com/export/currrate.xml" + "?" + Math.random(); XML = false; XML = new XMLHttpRequest(); XML.overrideMimeType('text/xml'); XML.open('GET', URL, true); XML.send(null); Кто-нибудь все-таки может написать строчечку кода как определить номер тега в файле зная его значение ? |
Цитата:
Елки... Цитата:
|
Цитата:
2. Работает. Можете проверить например : http://bank-ua.com/export/currrate.xml?0.1313131313 |
Цитата:
У вас ваш код работает? var URL = "http://bank-ua.com/export/currrate.xml" + "?" + Math.random(); XML = false; XML = new XMLHttpRequest(); XML.overrideMimeType('text/xml'); XML.open('GET', URL, true); XML.send(null); Ошибки, типа "Доступ запрещен" не выскакивает? |
Работает, только в Сафари, в мозиле и в IE не пашет. Но так как этот код для айфона, меня устраивает. А что не должно работать или ошибка где вкралась ?
|
Цитата:
Цитата:
|
Сафари видимо игнорирует эти ограничения. Я этим методом без проблем тяну данные с различных ресурсов и никаких проблем не возникает.
Тут лежит моя небольшая разработка под IPhone, ее можно запустить в Сафари и убедиться, что все работает без проблем. Спасибо за ссылку, почитаю. И все-таки, не поможете мне с моим вопросом ? |
помоему такую задачу надо решать серверным путем. XPath+php например.
Вы тогда сможете по крону запускать скрипты, которые будут получать xml файлы с другого(других) сайтов и всегда иметь свежий курс валют. |
Похоже меня не слышат, и тема ушла совсем в другое русло ...
У меня нет проблемы с доставанием XML и с получением свежего курса. Вот мой рабочий код, который работает безо всяких проблем : <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251"/> </head> <body onload="test();"> <script> function test(){ var URL = "http://bank-ua.com/export/currrate.xml" + "?" + Math.random(); XML = false; XML = new XMLHttpRequest(); XML.overrideMimeType('text/xml'); XML.open('GET', URL, true); XML.send(null); XML.onload= function() { if (XML.readyState == 4) { if (XML.status == 200) { var xmldoc = XML.responseXML; var V1 = "AUD" if (V1=="AUD"){tag1 = 0;} var course1 = xmldoc.getElementsByTagName('rate').item(tag1).firstChild.data; alert(course1); }}}} </script> </body> Но меня перестал устраивать такой способ определения курса, потому, что сегодня валюта AUD находится в item[0], а завтра может оказаться в item[1] например. Поэтому возник вопрос как в моей ситуации определить значение одного одного тега, зная значение другово. |
Дык, вам ответили XPath,вам дали ссылку, читайте...
Вам не создать объект? var evaluator = new XPathEvaluator(); вам не создать Xpath - выражение? Код:
'/chapter/item/rate[preceding-sibling::char3="AUD"]' evaluate() Что вам не ясно? Не хотите читать? Так, вам уже писали Цитата:
|
Часовой пояс GMT +3, время: 04:18. |