Вот есть ответ сервера (XML)
<?xml version="1.0" encoding="UTF-8"?>
<root>
<a>0</a>
<row>
<id>1</id>
<name>вафіва</name>
<text>іфва фіва фіва <b>івафівафі</b></text>
<date>22.08.2011 10:27</date>
<editbyadmin>0</editbyadmin>
<dateofediting></dateofediting>
</row>
<row>
<id>5</id>
<name>віаів</name>
<text>іваsd fasd</text>
<date>22.08.2011 11:13</date>
<editbyadmin>0</editbyadmin>
<dateofediting></dateofediting>
</row>
<row>
<id>6</id>
<name>safds fasd</name>
<text>dsf sd<br /><img src="/imgs/smiles/smile.gif" alt=":)" /></text>
<date>23.08.2011 16:39</date>
<editbyadmin>1</editbyadmin>
<dateofediting>23.08.2011 22:44</dateofediting>
</row>
</root>
Обыкновенный код запроса:
refreshXmlHttp.open("GET",url,true);
refreshXmlHttp.setRequestHeader("Content-type", "text/xml");
refreshXmlHttp.send(null);
refreshXmlHttp.onreadystatechange = function()
{
if (refreshXmlHttp.readyState==4);
}
Получить текст тега <a> я могу, а вот как мне обработать по порядку теги <row>?
хочу получить подследственно значения id,name и т.д.
Спустя 23 минуты (24.08.2011 - 12:24) ApuktaChehov написал(а):
Все просто.
Пусть root будет объектом. Тогда все элементы row, это
теперь нужно пройти по всем элементам row, которые у нас лежат в row_list :
таким вот образом, мы достучались до внутренних элементов DOM-дереве.
Забыл про получения значений, это можно сделать вот так:
Пусть root будет объектом. Тогда все элементы row, это
var row_list = root.getElementsByTagName('row');
теперь нужно пройти по всем элементам row, которые у нас лежат в row_list :
for(i = 0; i < row_list.length; i++) {
var cur_row = row[i]; //Это текущий элементы row, в каждой интерации цикла.
var id = cur_row.getElementsByTagName('id'); //элемент id
var name = cur_row.getElementsByTagName('name'); //элемент name
var text = cur_row.getElementsByTagName('text'); //элемент text
var date = cur_row.getElementsByTagName('date'); //элемент date
var editbyadmin = cur_row.getElementsByTagName('editbyadmin'); //элемент editbyadmin
var dateofediting = cur_row.getElementsByTagName('dateofediting'); //элемент dateofediting
}
таким вот образом, мы достучались до внутренних элементов DOM-дереве.
Забыл про получения значений, это можно сделать вот так:
var id = cur_row.getElementsByTagName('id').childNodes[0].nodeValue; //значение элемента id
Спустя 53 минуты, 1 секунда (24.08.2011 - 13:17) Romms написал(а):
ApuktaChehov, спасибо!)
а я вот хотел добывать через childNodes, так и нифига не получалось
а я вот хотел добывать через childNodes, так и нифига не получалось