Просмотр полной версии : Обработка простого внешнего 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>";
Меня терзают смутные подозрения, что флэш не распознаёт имена тэгов, иначе все было бы достаточно просто.
Ну тогда пусть 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>
Распознает, распознает. И атрибуты понимает...
Собрал пример на коленке, думаю, поймешь что надо поменять под твои нужды ;)
Более показательный пример.
http://dembicki.narod.ru/tutor/a3.htm
Лучше не расскажешь. ;)
Спасибо. Но "если туп, как дерево, то будешь баобабом.." :(
Что-то я туплю по-крупному.
Вот мой 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?
Я еще раз извиняюсь за тупость, скорее всего, завтра, когда просплюсь, я пойму эти примеры, которые вы мне дали, еще раз спасибо! :)
А не проще ли, если переменных несколько, но они объединены в "серию", хранить их в массиве?
artfla$her
09.08.2004, 00:40
Я не смотрел примеров. Но есть функция set("имя переменной", значение). Может, напишешь set(myvar, myvarvalue) ? Убъешь двух зайцев сразу и даже от егеря по мордасам не словишь :) :)
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.