Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 29.09.2008, 23:24
Offi вне форума Посмотреть профиль Отправить личное сообщение для Offi Найти все сообщения от Offi
  № 1  
Ответить с цитированием
Offi
 
Аватар для Offi

Регистрация: Sep 2008
Сообщений: 52
Thumbs up XML+PHP: проблема загрузки данных

Здравствуйте!
Есть видео-галлерея, которая подгружает список категорий и непосредственно файлов из XML-документа. Локально, подгрузка данных из file.xml , успешно проходит и ролик обрабатывает данные. На сервере php-скрипт генерирует XML-файл, заполняя его данными из mysql-базы. При загрузке данных с сервера из генерируемого документа ролик не хочет обрабатывать данные. Думал, что некорректно генерируется хмл-файл, но сохранение полученных с сервера данных в file.xml показало, что документ корректно загружается и обрабатывается локально. При запуске ролика из среды разработки и загрузке данных с сервера используя Debug/List variables обнаружил, что файл был загружен в ролик, но данные обрабатыватся не стали

Код загрузки данных:
Код:
var path = "http://mysite.ru/video/xml.php";
var myxml = new XML();
myxml.ignoreWhite = true;
myxml.onLoad = function(success) 
{
	var cats = this.firstChild.childNodes;
	if (success) 
	{
	    for (var n:Number = 0; n < cats.length; n++) 
	    {
		trace(cats[n].attributes.name); // выдает - undefined
	    }
	}
}
Код http://mysite.ru/video/xml.php:
Код:
<?
require('mysql.php');
// $data - массив с данными из базы
echo '<?xml version="1.0" encoding="utf-8"?>';
echo '<VideoLibrary>';
for ($i = 0; $i < count($data); $i++) 
{
	echo '<category name="'.$data[$i][0][0].'">';
	for ($j = 1; $j < count($data[$i]); $j++) 
	{
		echo '<list name="'.$data[$i][$j]['name'].'"></list>';
	}
	echo '</category>';
}
echo '</VideoLibrary>';
?>
Возможно кто-то знает, что за грабли, подскажите пожалуйста!


Последний раз редактировалось Offi; 30.09.2008 в 21:49. Причина: добавление
Старый 29.09.2008, 23:49
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 2  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
1. Покажите результат работы скрипта в виде XML.
2. В личку скиньте адрес удаленного сервера и путь к скрипу. Попытаюсь проанализовать ответ сервера.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Старый 30.09.2008, 00:42
Offi вне форума Посмотреть профиль Отправить личное сообщение для Offi Найти все сообщения от Offi
  № 3  
Ответить с цитированием
Offi
 
Аватар для Offi

Регистрация: Sep 2008
Сообщений: 52
Добавил в пхп-файл вначале:
Код:
<?
header('Content-type: application/xml; charset="utf-8"',true);
...
теперь при просмотре полученных данных через Оперу вылазит ошибка
Код:
XML parsing failed: syntax error (Line: 1, Character: 0)

Reparse document as HTML
Error:unexpected text (non-whitespace text outside root element)
Specification:http://www.w3.org/TR/REC-xml/
и красным цветом показывает что перед
Код:
<?xml version="1.0" encoding="utf-8"?>
есть пробел! но в коде пхп-файла нет вывода никаких знаков до этой строчки и до символов "<?"...

Старый 30.09.2008, 01:09
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 4  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
там не пробел а последовательность символов (скопировано из UltraEdit в HEX режиме):
Код:
00000000h: FF FE 3F 04 BB 00 57 04 3F 04 BB 00 57 04 3C 00 ; яю?.».W.?.».W.<.
00000010h: 3F 00 78 00 6D 00 6C 00 20 00 76 00 65 00 72 00 ; ?.x.m.l. .v.e.r.
00000020h: 73 00 69 00 6F 00 6E 00 3D 00 22 00 31 00 2E 00 ; s.i.o.n.=.".1...
00000030h: 30 00 22 00 20 00 65 00 6E 00 63 00 6F 00 64 00 ; 0.". .e.n.c.o.d.
00000040h: 69 00 6E 00 67 00 3D 00 22 00 75 00 74 00 66 00 ; i.n.g.=.".u.t.f.
00000050h: 2D 00 38 00 22 00 3F 00 3E 00 3C 00 56 00 69 00 ; -.8.".?.>.<.V.i.
Update
Мой IE7 закрывается сразу после попытки открыть сохраненные результаты ответа от Вашего скрипта. У Firefox вопросов не возникает и открывает xml корректно. При открытии с Вашего сайта IE7 говорит об ошибке парсинга xml на строке:

Ошибка в элементе верхнего уровня документа. Ошибка при обработке ресурса ''http://zzzzzzz/new/post/video/xml.php...

<?xml version="1.0" encoding="utf-8"?><VideoLibrary><category name="VFX"><list name="Toxic" videotitle...


Update2
Локальный файл flash-ролик парсит корректно. Удаленный файл не парсит, но данные получает, поставьте трейс и увидите:
Код:
var path = "http://zzzzzzz/new/post/video/xml.php";
var myxml = new XML();
myxml.ignoreWhite = true;
myxml.onLoad = function(success) {
	var cats = this.firstChild.childNodes;
	if (success) 	{
		trace('doc: '+ this)
	}
}
//myxml.load("Edit1.xml");
myxml.load(path);
Мой вывод: забиваю на свой IE7, а Вы избавляетесь от паразитных символов в начале ответа сервера.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.


Последний раз редактировалось dimarik; 30.09.2008 в 01:28. Причина: Update
Старый 30.09.2008, 02:46
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 5  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Похоже на DOM-метку, только она тут раза три повторяется.

Старый 30.09.2008, 03:01
Molecula вне форума Посмотреть профиль Отправить личное сообщение для Molecula Найти все сообщения от Molecula
  № 6  
Ответить с цитированием
Molecula
 
Аватар для Molecula

Регистрация: Apr 2007
Сообщений: 1,369
Похоже на BOM метку.
Сохраняйте файл, как "UTF-8 without BOM", можно использовать HTMLPad или WeBuilder, или другое.
__________________
john

Старый 30.09.2008, 21:38
Offi вне форума Посмотреть профиль Отправить личное сообщение для Offi Найти все сообщения от Offi
  № 7  
Ответить с цитированием
Offi
 
Аватар для Offi

Регистрация: Sep 2008
Сообщений: 52
Цитата:
Сохраняйте файл, как "UTF-8 without BOM"
сделал. непомогло. Но! в пхп-файл который генерировал хмл инклудился файл-класс обеспечивающий доступ к данным из базы. перекодировал его в UTF-8 without BOM и все заработало!
Спасибо всем кто отозвался!

Старый 29.07.2009, 11:11
GoodWin74 вне форума Посмотреть профиль Отправить личное сообщение для GoodWin74 Найти все сообщения от GoodWin74
  № 8  
Ответить с цитированием
GoodWin74
 
Аватар для GoodWin74

Регистрация: Jun 2009
Сообщений: 81
с PHP тож проблемка! Не могу понять как загрузить XML через Переменную.
т.е. в переменной $xml у меня лежит текст из нормальной XML-ки пробовал прям её разбирать $xml->text[0]; не катит...
Может её както самому парсить надо или как??? тектс примерно такой:

Код:
<?xml version="1.0" encoding="utf-8"?>
<general>
 <text>502</text>
</general>

Старый 29.07.2009, 11:19
Mnilionic вне форума Посмотреть профиль Отправить личное сообщение для Mnilionic Найти все сообщения от Mnilionic
  № 9  
Ответить с цитированием
Mnilionic
 
Аватар для Mnilionic

Регистрация: Aug 2005
Адрес: я из Ленинграда
Сообщений: 1,082
Отправить сообщение для Mnilionic с помощью ICQ
вам в PHP раздел.
для работы с XML в PHP есть библиотеки.

Создать новую тему Ответ Часовой пояс GMT +4, время: 23:16.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Теги
php , xml , загрузка

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 23:16.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.