Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Помогите распарсить XML документ (https://javascript.ru/forum/misc/72010-pomogite-rasparsit-xml-dokument.html)

timko_ya 29.12.2017 01:28

Помогите распарсить XML документ
 
Есть документ, яндекс пробки, https://export.yandex.ru/bar/reginfo.xml?region=51

При переходе по ссылке выше, открывается документ, в нем есть такая информация:

This XML file does not appear to have any style information associated with it. The document tree is shown below.
<info lang="ru">
<region id="51" zoom="12" lat="53.195522" lon="50.101819">...</region>
<traffic region="51" zoom="12" lat="53.195522" lon="50.101819">
<region id="51">
<length>30124.0988852</length>
<level>1</level>
<icon>green</icon>
<timestamp>1514497976</timestamp>
<time>01:52</time>
<hint lang="ru">На дорогах свободно</hint>
<hint lang="en">Clear roads</hint>
<hint lang="be">На дарогах свабодна</hint>
<hint lang="kk">Жолдар бос</hint>
<hint lang="tr">Trafik açık</hint>
<hint lang="uk">На дорогах вільно</hint>
<tend>0</tend>
<url>https://yandex.ru/maps/51/samara/probki</url>
</region>
<title>Самара</title>
</traffic>


Так вот, как можно выдернуть, и отобразить на сайте только две строчки: <level>1</level> и <hint lang="ru">На дорогах свободно</hint>. Заранее всем спасибо за помощь.

laimas 29.12.2017 05:54

А доступ к данным разрешен?

ksa 29.12.2017 08:47

Цитата:

Сообщение от timko_ya
Есть документ, яндекс пробки, https://export.yandex.ru/bar/reginfo.xml?region=51

Цитата:

Сообщение от laimas
А доступ к данным разрешен?

No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access.
:cray:

ksa 29.12.2017 08:50

Цитата:

Сообщение от timko_ya
как можно выдернуть, и отобразить на сайте только две строчки: <level>1</level> и <hint lang="ru">На дорогах свободно</hint>.

Если есть доступ, то, как вариант...
<!DOCTYPE html>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251' />
<script src='https://code.jquery.com/jquery-latest.js'></script>
<!--
<script src="https://code.angularjs.org/1.3.9/angular.min.js"></script>
<script src="https://code.angularjs.org/1.3.9/angular-route.js"></script>
-->
<style type='text/css'>
</style>
<script type='text/javascript'>
var o=document.createElement('div');
$(o).load('tmp1.csp',function(){
	alert(o.querySelector('level').innerHTML);
	alert(o.querySelector('hint').innerHTML);
});
</script>
</head>
<body>
</body>
</html>

laimas 29.12.2017 08:55

Цитата:

Сообщение от ksa
o.querySelector('hint')

o.querySelector('hint[lang="ru"]')

ksa 29.12.2017 09:00

laimas, применительно к данному примеру сойдет и так... ;)

laimas 29.12.2017 09:07

Цитата:

Сообщение от ksa
сойдет и так...

Да и так сойдет - querySelector :D


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