Показать сообщение отдельно
Старый 20.02.2012, 19:07
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 2  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Запишите у себя
Код AS1/AS2:
trace(this.name1) //undefined
и увидите, что так обращаться нельзя, XML - это не LoadVars

Вариант 1.
Код:
<?xml version="1.0" encoding="UTF-8"?>
<names>
	<name>Текст 1</name>
	<name>Текст 2</name>
</names>
Код AS1/AS2:
dataXML = new XML();
dataXML.ignoreWhite = true;
dataXML.onLoad = function(success) {
	if (success)
	{
		var xmlnode:XMLNode = this.firstChild ; //это корневой узел <names>
		name1.text = xmlnode.childNodes[0].firstChild.toString();
		name2.text = xmlnode.childNodes[1].firstChild.toString();
	}
};
dataXML.load('data.xml');
Кооментарий
Код AS1/AS2:
xmlnode.childNodes[0].firstChild.toString();
Узел xmlnode - здесь это корневой узел <names>

Массив childNodes
Это массив узлов корневого узла, то есть все эти <name>.

Узел firstChild
Первый узел узла <name>. Текст - это тоже узел, доступ к нему можно получить так.



Вариант 2. Автоматически циклом по произвольному количеству узлов.

Атрибут id - не используется, но может понадобится, хотя бы чтобы не запутаться при формировании конфига.
С переменной цикла i он не связан, пока сами не захотите.

Код:
<?xml version="1.0" encoding="UTF-8"?>
<names>
	<name id="1">Текст 1</name>
	<name id="2">Текст 2</name>
</names>
Код AS1/AS2:
dataXML = new XML();
dataXML.ignoreWhite = true;
dataXML.onLoad = function(success) {
	if (success)
	{
		var xmlnode:XMLNode = this.firstChild ;
		var total:Number = xmlnode.childNodes.length ;
 
		for (i = 0; i < total; i++) 
		{
			_root['name' + (i + 1)].text =  xmlnode.childNodes[i].firstChild.toString();
		}
	}
};
dataXML.load('data.xml');
__________________
Идите первым!


Последний раз редактировалось mooncar; 20.02.2012 в 19:52.