Обработка Xml

Обсуждение вопросов клиентского программирования.

Модератор: Duncon

Ответить
hripa
Сообщения: 6
Зарегистрирован: 18 мар 2007, 18:04

index.xml
-----------\
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response type="param-list" action="update_all_sources">
<param name="xxx2">xxfdsfsdfsdfx</param>
<param name="xxx3">xx45dfgterx</param>
<param name="xxx4">xfdsw453534xx</param>
</response>
-------------\
index.js
-----------\
function extractResponse(xml_doc) {
var body_type = xml_doc.documentElement.getAttribute('type');
if(body_type != 'param-list') throw "Unknown response body type: " + body_type;
var params = xml_doc.documentElement.childNodes, ret = {};
for(var i = 0; i < params.length; i++) {
if(params.nodeType != 1) {continue;}
ret['~' + params.getAttribute('name')] = params.nodeValue;
document.write('
~' + params.getAttribute('name') +' = '+params.nodeValue);
}
return ret;
}

-----------------/
На выходе получаем:
~xxx2 = null
~xxx3 = null
~xxx4 = null
--------------------------
Вопрос как получить значения нужные ? из XML файла :confused:
Serj
Сообщения: 7
Зарегистрирован: 18 мар 2007, 12:00
Контактная информация:

Вместо params.nodeValue пиши params.firstChild.nodeValue. Проверил - работает.
Все очень просто. DOM здесь такой: корневой элемент - response, дочерние элементы param. Каждый элемент param содержит по одному дочернему элементу типа textNode. Именно эти элементы и нужно использовать.
hripa
Сообщения: 6
Зарегистрирован: 18 мар 2007, 18:04

Serj, ОО спасибо ЧУВАК ))) шас буду пробывать!
Ответить