LINUX.ORG.RU

JavaScript обработка XML


0

0

Ответ сервера XML:
<cn>ffff</cn><sn>rgfergerg</sn><mail></mail>

Обрабатываю командой:
document.getElementById("mail").value =
xmlDoc.getElementsByTagName("mail").item(0).firstChild.data;

Firefox с отладчиком FireBug выдает ошибку "has no properties"
на выражение после знака "=".
На остальные поля не ругается, ошибка из-за незаполненности данных.
Как решить проблему? Можно ли покороче обращаться к XML?


if(document.getElementsByTagName("mail").item(0)) != null) {
bla bla bla
}

text в таге - это тоже "таг" (текстовой), а его нету в данном документе

>Можно ли покороче обращаться к XML

var ku = xmlDoc.getElementsByTagName("mail");

var bla = ku.item(0).firstChild.data

а вообще для таких целей люди (сорри, с непромытыми мозгами) используют json. xml - это стёб, просто не все это поняли ;)

Pi ★★★★★
()
Ответ на: комментарий от Pi

if (xmlDoc.getElementsByTagName("mail").item(0) == null) {
mail = "";
} else {
mail = xmlDoc.getElementsByTagName("mail").item(0).firstChild.data;
}
document.getElementById("mail").value = mail;

На строке mail = xmlDoc... ошибка: "has no properties".

***
Firefox поддерживает новый стандарт E4X для работы с XML.
Делал так:
var xmlDoc = new XML(request.responseXML);
alert(xmlDoc.sn);

Выдает ошибку: can't convert new XML(request.responseXML) to XML

***
JSON пока читаю, мозгов еще больше требует...


WinLin
() автор топика
Ответ на: комментарий от WinLin

var xml = new XML(request.responseText);
document.getElementById("mail").value = xml.mail;

Вот так заработало :)
Firefox хотел текст, а не объект xml.

На сервере создаю JSON (массив хешей) в виде обычного текста
и далее загружаю его через:
var response = request.responseText;

Какие далее действия? Пример приведите, pls.

WinLin
() автор топика
Ответ на: комментарий от Pi

не eval(response) надо так: eval("response="+response) после этого response будет представлять из себя объект или хэш - называйте как хотите

barbuza
()
Ответ на: комментарий от barbuza

ты главное не думай, что что-то шибко умное сказал ;)

обычно json, ровно как и xml, имеют root-tag

Pi ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.