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

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

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

Регистрация: Jun 2007
Сообщений: 7
По умолчанию XML неправильно загружается

загружаю xml сохраненный в переменной из файла 32.php

Код AS3:
import flash.display.Sprite;
    import flash.events.*;
    import flash.net.*;
 
 
            var loader:URLLoader = new URLLoader();
            configureListeners(loader);
 
            var request:URLRequest = new URLRequest("http://localhost/lv/32.php");
            try {
                loader.load(request);
            } catch (error:Error) {
                trace("Unable to load requested document.");
 
 
function configureListeners(dispatcher:IEventDispatcher):void {
            dispatcher.addEventListener(Event.COMPLETE, completeHandler);
 
        }
 
 function completeHandler(event:Event):void {
            var loader:URLLoader = URLLoader(event.target);
 
 
            var vars:URLVariables = new URLVariables(loader.data);
 
			var xmlMenu:XML = new XML();
			xmlMenu=XML(vars.xmlmenu);
 
			trace(xmlMenu.child("items")[0].toXMLString());
}}
в php файле написано

PHP код:
<?php 
$xmlmenu 
= "



<menuelements>
<items>
    <item>
            <label>Home</label>
               <linkTo>http://localhost/samvar4/index.php?option=com_content&amp;view=frontpage&amp;lang=en</linkTo>
        </item>
    <item>
                <label>About Company</label>
               <linkTo>http://localhost/samvar4/index.php?option=com_content&amp;view=article&amp;id=3&amp;lang=en</linkTo>
        </item>
    <item>
            <label>Drilling</label>
            <linkTo>http://localhost/samvar4/index.php?option=com_content&amp;view=article&amp;id=2&amp;lang=en</linkTo>
        </item>
    <item>
            <label>Construction of wells</label>
            <linkTo>http://localhost/samvar4/index.php?option=com_content&amp;view=article&amp;id=9&amp;lang=en</linkTo>
        </item>
    <item>
            <label>Filtering</label>
            <linkTo>http://localhost/samvar4/index.php?option=com_content&amp;view=article&amp;id=10&amp;lang=en</linkTo>
        </item>
</items>


</menuelements>




" 
; 


/*
print the variables to the output in order to let flash read them 
*/

$vars = "" ; 
$vars .= "xmlmenu=" . $xmlmenu  ; 


echo 
$vars ; 
?>

выдает ошибку


TypeError: Error #1085: The element type "linkTo" must be terminated by the matching end-tag "</linkTo>".
at _fla::MainTimeline/completeHandler()
at flash.events::EventDispatcher/flash.events:EventDispatcher::dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at flash.net::URLLoader/flash.net:URLLoader:nComplete()



может быть причина в специальных символах в теге linkTo ??

подскажите пожалуйста

Старый 22.08.2010, 22:39
expl вне форума Посмотреть профиль Отправить личное сообщение для expl Найти все сообщения от expl
  № 2  
Ответить с цитированием
expl

блогер
Регистрация: Feb 2006
Сообщений: 1,474
Записей в блоге: 3
Видать на знаках вопроса где-то сыпется, плюс Вы в переменную засовываете строку со спецсимволами - оно может ее распарсить как несколько переменных
1. Посмотрите, что вы на самом деле получаете в переменной vars.xmlmenu
2. Если получаете хрень - то подумайте, надо ли вообще это пихать в переменную,
почему просто не загрузить xml-ку как обычный текст и распарсить?

Да и pnp здесь чего делает? Можно же просто xml-ку загрузить, уж не изощренная ли это система защиты от кеширования в бравзере?


Последний раз редактировалось expl; 22.08.2010 в 22:43.
Старый 22.08.2010, 22:53
tik_webmaster вне форума Посмотреть профиль Отправить личное сообщение для tik_webmaster Найти все сообщения от tik_webmaster
  № 3  
Ответить с цитированием
tik_webmaster
 
Аватар для tik_webmaster

Регистрация: Jun 2007
Сообщений: 7
1. vars.xmlmenu - та же ошибка
2. вариант с загрузкой отдельного xml не подходит. Нужны динамические данные.

Может нужно запихнуть написанное в linkTo в какой то спецсимвол ?
Или представить всe этo в каком-то другом виде?


Последний раз редактировалось tik_webmaster; 23.08.2010 в 00:30.
Старый 22.08.2010, 23:29
expl вне форума Посмотреть профиль Отправить личное сообщение для expl Найти все сообщения от expl
  № 4  
Ответить с цитированием
expl

блогер
Регистрация: Feb 2006
Сообщений: 1,474
Записей в блоге: 3
Не, что мешает написать так:
PHP код:
<?php  
$xmlmenu 
= " 



<menuelements> 
<items> 
    <item> 
            <label>Home</label> 
               <linkTo>http://localhost/samvar4/index.php?option=com_content&amp;view=frontpage&amp;lang=en</linkTo> 
        </item> 
    <item> 
                <label>About Company</label> 
               <linkTo>http://localhost/samvar4/index.php?option=com_content&amp;view=article&amp;id=3&amp;lang=en</linkTo> 
        </item> 
    <item> 
            <label>Drilling</label> 
            <linkTo>http://localhost/samvar4/index.php?option=com_content&amp;view=article&amp;id=2&amp;lang=en</linkTo> 
        </item> 
    <item> 
            <label>Construction of wells</label> 
            <linkTo>http://localhost/samvar4/index.php?option=com_content&amp;view=article&amp;id=9&amp;lang=en</linkTo> 
        </item> 
    <item> 
            <label>Filtering</label> 
            <linkTo>http://localhost/samvar4/index.php?option=com_content&amp;view=article&amp;id=10&amp;lang=en</linkTo> 
        </item> 
</items> 


</menuelements> 




" 
;  


/* 
print the variables to the output in order to let flash read them  
*/ 

echo  $xmlmenu;  
?>
А если все-же нужно несколько переменных возвращать - то придется текст xml перегнать в escape-последовательность urlencod-ом каким-нибудь


Последний раз редактировалось expl; 22.08.2010 в 23:34.
Старый 22.08.2010, 23:53
tik_webmaster вне форума Посмотреть профиль Отправить личное сообщение для tik_webmaster Найти все сообщения от tik_webmaster
  № 5  
Ответить с цитированием
tik_webmaster
 
Аватар для tik_webmaster

Регистрация: Jun 2007
Сообщений: 7
так Flash не может найти переменную xmlmenu из php
не знаю почему

PHP код:
/*
print the variables to the output in order to let flash read them 
*/

$vars = "" ; 
$vars .= "xmlmenu=" . $xmlmenu  ; 


echo 
$vars ; 
?> 
print the variables to the output in order to let flash read them наверно так надо

Старый 23.08.2010, 14:33
NumpuT вне форума Посмотреть профиль Отправить личное сообщение для NumpuT Найти все сообщения от NumpuT
  № 6  
Ответить с цитированием
NumpuT

Регистрация: Dec 2009
Сообщений: 45
в PHP нужно указать или тот или тот тип файла
PHP код:

header
( 'Content-type: text/plane' );
  
header( 'Content-type: application/xml' ); 
а в AS3 я делал так
Код AS3:
public var getRssHttp:HTTPService = new HTTPService( );
getRssHttp.url = "http://rss.site.com/getRSS.php";				
getRssHttp.makeObjectsBindable = true;
getRssHttp.useProxy= false;
getRssHttp.resultFormat = "text";
getRssHttp.resultFormat = "text"; должно быть text и тогда ошибки не вылетают но тогда содержимое полученого на вашей совести

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

Регистрация: Jun 2007
Сообщений: 7
спасибо всем

я нашел решение
надо все специальные символы кодировать в URL
например
вместо

http://localhost/samvar4/index.php?o...ge&amp;lang=en

надо писать

http%3A2F%2Flocalhost%2Fsamvar4%2Findex.php%3Foption%3Dcom_content%26amp%3Bview%3Dfrontpage%26amp%3Blang%3Den

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

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Цитата:
Сообщение от tik_webmaster Посмотреть сообщение
надо все специальные символы кодировать в URL
достаточно использовать ![CDATA[]]

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

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

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


 


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


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