Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Парсинг XML Response (https://javascript.ru/forum/misc/45271-parsing-xml-response.html)

rslab 21.02.2014 14:19

Парсинг XML Response
 
На скрипт приходит ответ в xml типа:
Код:

<response>
<value1>1</value1>
<value2>2</value>
<value3>3</value>
</response>

Как это всё распарсить до значений? Т.е, получить значение value1, value2 и тд без лишних кусков ответа?

Octane 21.02.2014 14:37

https://developer.mozilla.org/en-US/...erializing_XML

danik.js 21.02.2014 15:20

Octane, там некроссбраузерный код, который не будет работать в старых браузерах. А исправить это очень просто. Достаточно выставлять на сервере правильный Content-Type, вместо onload использовать onreadystatechange, а вместо responseType + response использовать responseXML

rslab 21.02.2014 15:39

Цитата:

Сообщение от danik.js (Сообщение 298778)
Octane, там некроссбраузерный код, который не будет работать в старых браузерах. А исправить это очень просто. Достаточно выставлять на сервере правильный Content-Type, вместо onload использовать onreadystatechange, а вместо responseType + response использовать responseXML

Скрипт работает с чужим сервером и, соответственно, у меня нет никаких возможностей что-то там подменить.

Aetae 21.02.2014 15:49

Ну раз чужой, то Content-Type там скорее всего правильный, а остальное надо поменять в коде из ссылки Octane. А лучше - погуглить javascript responseXML.)

rslab 21.02.2014 16:04

Вот и первая проблемка - Content-Type.
HTTP/1.1 200 OK
Server: nginx
Date: Fri, 21 Feb 2014 11:57:25 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: keep-alive
X-Powered-By: PHP/5.3.3-7+squeeze16
Content-Encoding: gzip


Ответ с Content-Type text/html.
Это как то особо повлияет?

Aetae 21.02.2014 16:22

Цитата:

Сообщение от rslab (Сообщение 298795)
Это как то особо повлияет?

Проверяй. Проверить быстрее чем загуглить, ни говоря уже о том чтобы спросить.)

danik.js 21.02.2014 16:28

Существует метод request.overrideMimeType('text/xml')
Но он отсутствует в IE. В нем можно заюзать DOMParser/ActiveXObject( "Microsoft.XMLDOM" )
Или не только в нем - особой разницы то нет.


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