Страница 1 из 1

Обработка Xml

Добавлено: 18 мар 2007, 18:17
hripa
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:

Re: Обработка Xml

Добавлено: 18 мар 2007, 21:19
Serj
Вместо params.nodeValue пиши params.firstChild.nodeValue. Проверил - работает.
Все очень просто. DOM здесь такой: корневой элемент - response, дочерние элементы param. Каждый элемент param содержит по одному дочернему элементу типа textNode. Именно эти элементы и нужно использовать.

Re: Обработка Xml

Добавлено: 18 мар 2007, 21:37
hripa
Serj, ОО спасибо ЧУВАК ))) шас буду пробывать!