Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   Обработка простого внешнего Xml файла. Если кто знает, очень прошу помощи. (http://www.flasher.ru/forum/showthread.php?t=61615)

ccwds 07.08.2004 20:41

Обработка простого внешнего Xml файла. Если кто знает, очень прошу помощи.
 
Здраве буде, бояре!

Нет ли универсального кода, который предполагает, что вложенности тэгов в XML-овском документе нет, все равноправные child-ы, что все тэги разные (одинаковых двух, к примеру, <header1> нет), и чтобы этот код превращал название тэга в название переменной, а содержимое контейнера этого тега в значение переменной?

Если такового нет, не можете ли подсказать, как это сделать правильно? :confused:

Ну т.е.
<header1>Какой-то <b>текст 1</b><header1/>
<footer1>Какой-то <b>текст 2</b><footer1/>
<image1>Какой-то <b>текст 3</b><image1/>
<header2>Какой-то <b>текст 4</b><header2/>

чтобы пeредавал флэшу переменные

header1="Какой-то <b>текст 1</b>";
footer1="Какой-то <b>текст 2</b>";
image1="Какой-то <b>текст 3</b>";
header2="Какой-то <b>текст 4</b>";

ccwds 07.08.2004 21:35

Меня терзают смутные подозрения, что флэш не распознаёт имена тэгов, иначе все было бы достаточно просто.

Ну тогда пусть XML такого вида

<titanic myvar="header1" myvarvalue="Какой-то <b>текст 1</b>"</titanic>
<titanic myvar="footer1" myvarvalue="Какой-то <b>текст 2</b>"</titanic>
<titanic myvar="image1" myvarvalue="Какой-то <b>текст 3</b>"</titanic>
<titanic myvar="header2" myvarvalue="Какой-то <b>текст 4</b>"</titanic>

Antares 07.08.2004 22:43

Вложений: 1
Распознает, распознает. И атрибуты понимает...

Собрал пример на коленке, думаю, поймешь что надо поменять под твои нужды ;)

Antares 07.08.2004 23:59

Вложений: 1
Более показательный пример.

Штрек 08.08.2004 01:48

http://dembicki.narod.ru/tutor/a3.htm
Лучше не расскажешь. ;)

ccwds 08.08.2004 04:38

Спасибо. Но "если туп, как дерево, то будешь баобабом.." :(
Что-то я туплю по-крупному.

Вот мой xml файл
Код:

<iceberg>
  <titanic myvar="header1" myvarvalue="Какой-то <b>текст 1</b>"</titanic>
  <titanic myvar="footer1" myvarvalue="Какой-то <b>текст 2</b>"</titanic>
  <titanic myvar="image1" myvarvalue="Какой-то <b>текст 3</b>"</titanic>
  <titanic myvar="header2" myvarvalue="Какой-то <b>текст 4</b>"</titanic>
</iceberg>

Вот код, считываю и все такое.

Код:

my_xml = new XML();
my_xml.ignoreWhite = true;
my_xml.load("galinhalt.xml");
my_xml.onLoad = function(status) {
        if (status) {
                extern_xml = this.firstChild.childNodes;                               
                бла-бла...
                бла-бла...
                бла-бла...
                delete my_xml;
        } else {
                trace("Все пропало, ничего не получилось!");
        }
};

Я могу считывать значения myvar:
extern_xml[порядковый номер].attributes.myvar;

Я могу считывать значения myvarvalue:
extern_xml[порядковый номер].attributes.myvarvalue;

Но я запутался в eval-ах... ;)
Как мне объявить все мои считанные myvar переменными и присвоить им соответствующие значения myvarvalue?

Я еще раз извиняюсь за тупость, скорее всего, завтра, когда просплюсь, я пойму эти примеры, которые вы мне дали, еще раз спасибо! :)

Antares 08.08.2004 06:01

А не проще ли, если переменных несколько, но они объединены в "серию", хранить их в массиве?

artfla$her 09.08.2004 00:40

Я не смотрел примеров. Но есть функция set("имя переменной", значение). Может, напишешь set(myvar, myvarvalue) ? Убъешь двух зайцев сразу и даже от егеря по мордасам не словишь :) :)


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

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