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

Вернуться   Форум Flasher.ru > Архив Flasher.ru > Flash > Action script 2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 24.06.2004, 05:52
  № 1  
Linuxoid_Alex
Guest

Сообщений: n/a
По умолчанию Xml

Люди, подскажите, plz, как в XML объявить данные, а затем вытащить их во Flashe?

Старый 24.06.2004, 07:07
  № 2  
Linuxoid_Alex
Guest

Сообщений: n/a
Пишу во флэше
Код:
function ReadDataFromXML()
{
	doc = new XML();
	doc.load("diagram.xml");
	xmlElt=doc;
	i=0;
	j=0;
	colichestvo_parametrov=0;
	paramName = new Array();
	paramAttr = new Array();
	while (xmlElt!=null)
	{
		paramName[i]=xmlElt.nodeName;
		paramAttr[i]=xmlElt.attributes.value;
		pname=xmlElt.parentNode.nodeName;
		trace(pname);
		if (paramName[i]!=null)
		{
			i++;
		}
		if (xmlElt.firstChild!=null)
		{
			xmlElt=xmlElt.firstChild;
			j++;
		}else
		{
			if (xmlElt.nextSibling!=null)
			{
				xmlElt=xmlElt.nextSibling;
			}else
			{
				xmlElt=xmlElt.parentNode;
				xmlElt=xmlElt.nextSibling;
				j--;
			}
		}
	}
	colichestvo_parametrov=i;
	trace(i);
	for (i=0;i<=colichestvo_parametrov;i++)
	{
	  trace(paramName[i]);
	  trace(paramAttr[i]);
	}
}
XML файл:
Код:
<?xml version="1.0" encoding="utf-8" ?>
<diagrama>
  <stolbzi>
    <colvo value="2"></colvo>
    <stolbez0>
	  <height value="100"></height>
	  <width value="10"></width>
	  <color value="0x000000"></color>
	  <x value="10"></x>
	  <y value="100"></y>
	</stolbez0>
	<stolbez1>
	  <height value="80"></height>
	  <width value="10"></width>
	  <color value="0x000000"></color>
	  <x value="30"></x>
	  <y value="100"></y>
	</stolbez1>
  </stolbzi>
  <setka>
    <x value="5"></x>
	<y value="105"></y>
	<step value="10"></step>
	<equstep value="1"></equstep>
	<xstart value="0"></xstart>
	<ystart value="0"></ystart>
	<dlinax value="100"></dlinax>
	<dlinay value="100"></dlinay>
	<otstupOX value="10"></otstupOX>
	<otstupOY value="10"></otstupOY>
	<smesh value="5"></smesh>
	<riskain value="1"></riskain>
	<riskaout value="3"></riskaout>
	<strDlina value="4"></strDlina>
	<strShir value="2"></strShir>
  </setka>
</diagrama>
При вызове функции выводит, что ничего в XML нет, подскажите, plz, что неправильно?

Старый 24.06.2004, 10:40
Greben вне форума Посмотреть профиль Отправить личное сообщение для Greben Посетить домашнюю страницу Greben Найти все сообщения от Greben
  № 3  
Greben
 
Аватар для Greben

Регистрация: Mar 2004
Адрес: MoSKA
Сообщений: 534
Отправить сообщение для Greben с помощью ICQ Отправить сообщение для Greben с помощью Skype™
Тебе во-первых не хватает строчки типа doc.ignoreWhite=true;

Старый 24.06.2004, 10:59
Greben вне форума Посмотреть профиль Отправить личное сообщение для Greben Посетить домашнюю страницу Greben Найти все сообщения от Greben
  № 4  
Greben
 
Аватар для Greben

Регистрация: Mar 2004
Адрес: MoSKA
Сообщений: 534
Отправить сообщение для Greben с помощью ICQ Отправить сообщение для Greben с помощью Skype™
В doc записывается xml, а xmlElt-у нельзя вот так присвоить doc. А что именно из xml ты хочешь выдрать?

Старый 24.06.2004, 11:34
  № 5  
Linuxoid_Alex
Guest

Сообщений: n/a
данные для построения диаграммы... а как можно присвоить?
Даже если я пишу:
Код:
function ReadDataFromXML(filename)
{
  Data = new XML();
  Data.load(filename);
  Data.ignoreWhite=true;
  if (Data.loaded)
  {

  }else
  {
  	  trace("ERROR!");
  }
}
Выдаётся ERROR!


Последний раз редактировалось Linuxoid_Alex; 24.06.2004 в 11:39.
Старый 24.06.2004, 11:49
Greben вне форума Посмотреть профиль Отправить личное сообщение для Greben Посетить домашнюю страницу Greben Найти все сообщения от Greben
  № 6  
Greben
 
Аватар для Greben

Регистрация: Mar 2004
Адрес: MoSKA
Сообщений: 534
Отправить сообщение для Greben с помощью ICQ Отправить сообщение для Greben с помощью Skype™
Вообщем мне это вот так:
//первый кадр
doc = new XML();
doc.load("any.xml");
doc.ignoreWhite = true;
doc.onLoad = function() {
play();
}
stop();
//второй кодр
paramAttr = new Array();
paramName = new Array();
k = 0;
m = 0;
rootNode = doc.firstChild;
xmlRootArray = rootNode.childNodes;
len = xmlRootArray.length;
for (i=0; i<len; i++) {
xmlSecondArray = xmlRootArray[i].childNodes;
len2 = xmlSecondArray.length;
for (j=0; j<len2; j++) {
k++;
if (xmlSecondArray[j].firstChild == null) {
m++;
paramName[m] = xmlSecondArray[j].nodeName;
paramAttr[m] = xmlSecondArray[j].attributes.value;
} else {
xmlThirdArray = xmlSecondArray[j].childNodes;
len3 = xmlThirdArray.length;
for (l=0; l<len3; l++) {
m++;
paramName[m] =xmlThirdArray[l].nodeName;
paramAttr[m] = xmlThirdArray[l].attributes.value;
}
}
}
}
for(i=1;i<m;i++){
trace(paramName[i]);
trace(paramAttr[i]);
}
stop();


Наверное можно сделать более культурно, но у меня сегодня Днюха!!! А думать лениво

Старый 24.06.2004, 11:50
Greben вне форума Посмотреть профиль Отправить личное сообщение для Greben Посетить домашнюю страницу Greben Найти все сообщения от Greben
  № 7  
Greben
 
Аватар для Greben

Регистрация: Mar 2004
Адрес: MoSKA
Сообщений: 534
Отправить сообщение для Greben с помощью ICQ Отправить сообщение для Greben с помощью Skype™
Пардон, не знал что тут все пробелы съедятся )

Старый 24.06.2004, 18:05
FreeLander вне форума Посмотреть профиль Отправить личное сообщение для FreeLander Найти все сообщения от FreeLander
  № 8  
FreeLander
 
Аватар для FreeLander

Регистрация: Jan 2004
Адрес: нигде - не осталось на Земле свободных земель(
Сообщений: 1,176
зачем xmlRootArray заводить - мона ж прям с rootNode.childNodes и работать...

Старый 24.06.2004, 18:33
Greben вне форума Посмотреть профиль Отправить личное сообщение для Greben Посетить домашнюю страницу Greben Найти все сообщения от Greben
  № 9  
Greben
 
Аватар для Greben

Регистрация: Mar 2004
Адрес: MoSKA
Сообщений: 534
Отправить сообщение для Greben с помощью ICQ Отправить сообщение для Greben с помощью Skype™
Понятно, что можно. Так ну нагляднее чтоли

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

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

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


 


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


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