Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   ошибка при загрузке XML (http://www.flasher.ru/forum/showthread.php?t=142716)

Universe 28.07.2010 22:48

ошибка при загрузке XML
 
Код AS3:

package src.testAdd
{
        import flash.display.MovieClip;
        import flash.events.*;
        import flash.net.*;
 
        public class TestAddXML extends  MovieClip
        {
                var xml:XML;
 
                public function  TestAddXML():void
                {
                        var xmlLoader:URLLoader = new URLLoader();
 
                        xmlLoader.addEventListener(Event.COMPLETE, xmlLoaded);
 
                        xmlLoader.load(new URLRequest("content.xml"));
                }
 
                public function xmlLoaded(e:Event):void
                {
 
                        xml = new XML(e.currentTarget.data);
                        //parseXML(xml);
                        trace(xml);
                }
 
                public function parseXML(xml_obj:XML):void
                {
                        var xmlList:XMLList = new XMLList(xml_obj);
                        trace(xmlList.children());
                }
 
        }
}

Код вызывает ошибку
TypeError: Error #1095: XML parser failure: Unterminated attribute.
at src.testAdd::TestAddXML/xmlLoaded()
at flash.events::EventDispatcher/flash.events:EventDispatcher::dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at flash.net::URLLoader/flash.net:URLLoader::onComplete()
Подскажите что не так, плиз!

Хемуль 29.07.2010 00:14

2 Universe:
Ну, судя по ошибке, в одном из узлов вашего XML'я не завершён атрибут. То есть, нет кавычек, наверное.
Должно быть что-то вроде:
Код:

<node attribute="value" />
А у вас:
Код:

<node attribute="value />

Universe 29.07.2010 00:32

Большое спасибо, Хемуль!Вы абсолютно правы! :)

Добавлено через 1 минуту
В одном из атрибутов я использовал строку a href='...' - она и вызвала проблему!

Хемуль 29.07.2010 00:33

2 Universe:
Так это не я прав. Это Флеш прав - он сам всё честно написал.

Universe 29.07.2010 00:35

А есть вообще какой-то способ обойти эту ошибку? Можно как то в xml использовать вложенные кавычки в именах атрибутов?

Хемуль 29.07.2010 00:45

2 Universe:
В именах атрибутов нельзя, а в значениях можно. Заменять в XML'е их на что-то, а потом это что-то менять на кавычки после загрузки.

udaaff 29.07.2010 00:47

Есть entity для кавычек и апострофа:
&quot;
&apos;

-De- 29.07.2010 00:50

Код AS3:

var s:XML = <a href="& # 3 4 ; & # 1 3 ; & # 1 0 ; & # 3 9 ;" />;
                        trace(s.@href);

Ещё есть таким матюком запись (пробелы убрать).
Конвертится например с помощью http://www.pinnacledisplays.com/unicode-converter.htm (хотя он перевод строки не сожрёт наверное).

Universe 29.07.2010 01:58

Большое спасибо всем! Направление с заменой понял, сейчас загляну на htmlbook.ru :)

GBee 29.07.2010 02:35

Еще можно юзать CDATA


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

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