Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Загрузить весь xml (http://www.flasher.ru/forum/showthread.php?t=136399)

deman455 16.02.2010 16:13

Загрузить весь xml
 
Эм, вот проблема, надо загрузить весь хмл в динамический текст.
this.childNodes[0] - грузит только первые скобки, как все загрузить, скажите пожалуйста !

point111 16.02.2010 18:43

ну, например, организовать цикл по количеству узлов и плюсовать их в одну переменную

deman455 16.02.2010 18:55

Код AS1/AS2:

onFrame(2){
xml = new XML();
xml.ignoreWhite = true;
xml.onLoad = function() {
      for (i=0;i<=50;i++){
      _root.load.text += this.childNodes[i];
    }
};
xml.load("name.xml");
}

Пишет NaN что то не получится так.

point111 16.02.2010 19:21

а у меня твой код работает

Код AS1/AS2:

_root.createTextField("size_txt",1,10,10,300,120);
size_txt.wordWrap = true;
 
xml = new XML();
xml.ignoreWhite = true;
xml.onLoad = function() {
        for (i=0; i<=50; i++) {
                _root.size_txt.text += this.childNodes[i];
        }
};
xml.load("name.xml");

текст "name.xml":
Код:

<?xml version="1.0" encoding="UTF-8"?>

<response command="settings">
        <setting  value=" 1"/>
</response>

<response command="settings">
        <setting  value=" 2"/>
</response>

<response command="settings">
        <setting  value=" 3"/>
</response>


udaaff 16.02.2010 19:31

point111, у xml должен быть только один корневой узел.

deman455, выводите сразу весь свой xml
Код AS1/AS2:

var xml:XML = new XML();
xml.ignoreWhite = true;
xml.onLoad = xml_onLoadHandler;
xml.load("test.xml");
 
function xml_onLoadHandler():Void
{
        trace(this.firstChild);
}

Или вам что-то конкретное нужно достать из XML и вывести? В этом случае пример XML приведите, и того, что необходимо вывести.

point111 16.02.2010 19:46

Цитата:

конкретное нужно достать из XML и вывести?
скорей всего так и есть, но человек просил конкретно ВСЁ.

ps
а почему только один корневой узел? Приведенный выше код спокойно проглотил всё, что ему подсунули, или есть какой-то стандарт?

udaaff 16.02.2010 19:51

Это стандарт XML. В AS3 уже такой файл в xml не конвертируется. Вылетит ошибка:
TypeError: Error #1088: The markup in the document following the root element must be well-formed.

Или если в IE попытаться открыть:
Only one top level element is allowed in an XML document. Error processing resource 'file:///D:/tests/test.xml'. Line 5, P...

point111 16.02.2010 20:07

упс...
вот засада, а я частенько в одном XML делал пару корневиков с разной структурой и обращался к ним firstChild и lastChild - всё, лавочка прикрылась? lastChild в AS3 не работает?

deman455 16.02.2010 20:22

udaaff / this.firstChild - выводит мне только первую часть xml ! вот моя xml :

Код:

<?xml version="1.0"?>
<name>Имя1,Имя2,Имя3,Имя4,Имя5,Имя6,Имя7,Имя8,Имя9,Имя10,Имя11,Имя12,Имя13,Имя14,Имя15,Имя16,Имя17,Имя18,Имя19,Имя20,Имя21,Имя22,Имя23,Имя24</name>

<allItem>item1,item2,item3</allItem>

<name>Имя 1,pass

<inform>12,23,41,11,22</inform>

</name>


<name>Имя 2,pass

<inform>12,23,41,11,22</inform>

</name>

........Т.Д...........................................

считывает только <name>Имя1,Имя2...</name>

udaaff 16.02.2010 20:27

Цитата:

Сообщение от point111 (Сообщение 887049)
упс...
вот засада, а я частенько в одном XML делал пару корневиков с разной структурой и обращался к ним firstChild и lastChild - всё, лавочка прикрылась? lastChild в AS3 не работает?

Для обратной совместимости сохранена DOM модель, поэтому лавочка не прикрылась. А вот использовать гораздо более удобный E4X синтаксис не получится.

deman455, добавьте корневой узел <root></root>, допустим.


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

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