Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 29.04.2010, 15:02
Новичок на форуме
Отправить личное сообщение для kill_windows Посмотреть профиль Найти все сообщения от kill_windows
 
Регистрация: 29.04.2010
Сообщений: 7

Не могу выбрать данные с XML
Подскажите пожалуйста в чом я ошибся.. уже запарился мозг не варит..

Вот есть такой скрипт:
var xmlHttp = false;
try {
xmlHttp = new XMLHttpRequest();
} catch (trymicrosoft) {
try {
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (othermicrosoft) {
try {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (failed) {
xmlHttp = false;
}
}
}
if (xmlHttp.overrideMimeType) {
xmlHttp.overrideMimeType('text/xml');
}

function list_foto(die)
{
var number = document.getElementById('number').innerHTML;
var folder = document.getElementById('folder').innerHTML;
var url = "list_foto.php?folder="+ folder +"&number="+ number;
xmlHttp.open("GET",url,true);
xmlHttp.onreadystatechange=function update()
{
if(xmlHttp.readyState == 4)
{
if(xmlHttp.status == 200)
{

var xmldoc = xmlHttp.responseXML;

//var img = xmldoc.getElementsByTagName('img1').item(0);
//var out = img.firstChild.data;
//alert(img);
for(var i=1; i<=12; i++)
{

var temp = xmldoc.getElementsByTagName('img'+ i).item(0);
var img = temp.firstChild.data;
if(img == null)
{
document.getElementById('img'+ i).style.backgroundImage='';
}
if(img != null)
{
document.getElementById('img'+ i).style.backgroundImage='url('+ img +')';
}

}
temp = xmldoc.getElementsByTagName('left').item(0);
var left = temp.firstChild.data;
temp = xmldoc.getElementsByTagName('right').item(0);
var right = temp.firstChild.data;
alert("left="+ left.firstChild.data +"end right="+ right +".");
if(left == 'NO')
{document.getElementById('left').style.display='no ne';}
if(left == 'YES')
{document.getElementById('left').style.display=''; }
if(right == 'NO')
{document.getElementById('right').style.display='n one';}
if(right == 'YES')
{document.getElementById('right').style.display='' ;}
}
}
}
xmlHttp.send(null);
}


Получает он такой ответ:
<?xml version="1.0"?>
<img1>foto/girl/1271826050_mason-moore-001.jpg</img1>
<img2>foto/girl/1271826060_mason-moore-002.jpg</img2>
<img3>foto/girl/1271826074_mason-moore-007.jpg</img3>
<img4>foto/girl/1271826092_mason-moore-003.jpg</img4>
<img5>foto/girl/1271826092_mason-moore-014.jpg</img5>
<img6>foto/girl/1271826095_mason-moore-008.jpg</img6>
<img7>foto/girl/1271826101_mason-moore-011.jpg</img7>
<img8>foto/girl/1271826117_mason-moore-016.jpg</img8>
<img9>foto/girl/1271826120_mason-moore-017.jpg</img9>
<img10>foto/girl/1271826140_mason-moore-004.jpg</img10>
<img11>foto/girl/1271826147_mason-moore-020.jpg</img11>
<img12>foto/girl/1271826198_tiffany-star-008.jpg</img12>
<right id="right">YES</right><left id="left">NO</left>


но при поытке этой опирации var img = temp.firstChild.data;
Ошибка temp is null
При том что допустим alert(xmldoc); говорит что это object XMLDocument.
Вот заголовок ответа:
Date Thu, 29 Apr 2010 10:57:14 GMT
Server Apache/2.2.4 (Win32) mod_ssl/2.2.4 OpenSSL/0.9.8d PHP/5.2.4
X-Powered-By PHP/5.2.4
Content-Length 731
Keep-Alive timeout=5, max=99
Connection Keep-Alive
Да вот еще такую ошибку пишит:
Ошибка синтаксического анализа XML: лишние данные после элемента документа Адрес: moz-nullprincipal:{d6b8f407-82ff-4aa7-b9eb-5b0a3314b6a9} Строка 3, символ 1:

<img2>foto/1271826060_mason-moore-002.jpg</img2>


Content-Type text/xml
Ответить с цитированием
  #2 (permalink)  
Старый 29.04.2010, 15:31
Аватар для Skipp
.
Отправить личное сообщение для Skipp Посмотреть профиль Найти все сообщения от Skipp
 
Регистрация: 30.03.2010
Сообщений: 1,813

Цитата:
Подскажите пожалуйста в чом я ошибся.. уже запарился мозг не варит..
чом пишется через ё, чём

Форматируй текст.
__________________
.
Ответить с цитированием
  #3 (permalink)  
Старый 29.04.2010, 15:50
Аватар для Nekromancer
Профессор
Отправить личное сообщение для Nekromancer Посмотреть профиль Найти все сообщения от Nekromancer
 
Регистрация: 06.05.2009
Сообщений: 1,163

в правильном xml как минимум должен быть рут-контейнер
<?xml version="1.0"?>
<root>
<imgs>
<img1>foto/girl/1271826050_mason-moore-001.jpg</img1>
<img2>foto/girl/1271826060_mason-moore-002.jpg</img2>
<img3>foto/girl/1271826074_mason-moore-007.jpg</img3>
<img4>foto/girl/1271826092_mason-moore-003.jpg</img4>
<img5>foto/girl/1271826092_mason-moore-014.jpg</img5>
<img6>foto/girl/1271826095_mason-moore-008.jpg</img6>
<img7>foto/girl/1271826101_mason-moore-011.jpg</img7>
<img8>foto/girl/1271826117_mason-moore-016.jpg</img8>
<img9>foto/girl/1271826120_mason-moore-017.jpg</img9>
<img10>foto/girl/1271826140_mason-moore-004.jpg</img10>
<img11>foto/girl/1271826147_mason-moore-020.jpg</img11>
<img12>foto/girl/1271826198_tiffany-star-008.jpg</img12>
</imgs>
<settings>
<right id="right">YES</right><left id="left">NO</left>
</settings>
</root>


примерно так.. так что идём с начала читать.. читать.. читать

Цитата:
Ошибка синтаксического анализа XML: лишние данные после элемента документа Адрес: moz-nullprincipal:{d6b8f407-82ff-4aa7-b9eb-5b0a3314b6a9} Строка 3, символ 1:

<img2>foto/1271826060_mason-moore-002.jpg</img2>

Content-Type text/xml
Первый блок считается рут-контейнером, конечно второй будет лишний
__________________
Нужно равняться на лучших, а не оправдываться за счёт худших.

Последний раз редактировалось Nekromancer, 29.04.2010 в 23:13.
Ответить с цитированием
  #4 (permalink)  
Старый 29.04.2010, 22:00
Новичок на форуме
Отправить личное сообщение для kill_windows Посмотреть профиль Найти все сообщения от kill_windows
 
Регистрация: 29.04.2010
Сообщений: 7

Сообщение от Skipp Посмотреть сообщение
чом пишется через ё, чём

Форматируй текст.
Вот я ж и говорю "запарился мозг не варит.."
Ответить с цитированием
  #5 (permalink)  
Старый 29.04.2010, 22:04
Новичок на форуме
Отправить личное сообщение для kill_windows Посмотреть профиль Найти все сообщения от kill_windows
 
Регистрация: 29.04.2010
Сообщений: 7

Nekromancer Спасибо за подсказку, завтра проверю вашу теорию.
Ответить с цитированием
  #6 (permalink)  
Старый 29.04.2010, 23:13
Аватар для Nekromancer
Профессор
Отправить личное сообщение для Nekromancer Посмотреть профиль Найти все сообщения от Nekromancer
 
Регистрация: 06.05.2009
Сообщений: 1,163

Это не теория, это спецификация.
__________________
Нужно равняться на лучших, а не оправдываться за счёт худших.
Ответить с цитированием
  #7 (permalink)  
Старый 30.04.2010, 12:09
Новичок на форуме
Отправить личное сообщение для kill_windows Посмотреть профиль Найти все сообщения от kill_windows
 
Регистрация: 29.04.2010
Сообщений: 7

Nekromancer Спасибо ошибка была именно в не правильной структуре XML.
Ответить с цитированием
  #8 (permalink)  
Старый 30.04.2010, 12:13
Аватар для Nekromancer
Профессор
Отправить личное сообщение для Nekromancer Посмотреть профиль Найти все сообщения от Nekromancer
 
Регистрация: 06.05.2009
Сообщений: 1,163

кто бы сомневался
__________________
Нужно равняться на лучших, а не оправдываться за счёт худших.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Контекстное меню как считать данные из таблицы xela1980 jQuery 25 31.05.2013 14:20
Как удалить из памяти весь XML документ? EisBerg Events/DOM/Window 1 03.04.2010 14:45
Что выбрать XML или JSON для передачи Ajax - ом из PHP в JS Gozar Общие вопросы Javascript 20 16.08.2009 23:36
передача данных из xml в html yupa AJAX и COMET 40 30.07.2009 10:11
XML данные в массив. Onis Общие вопросы Javascript 7 16.07.2008 00:12