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

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Закрытая тема
Старый 04.11.2012, 19:07
aivashchenko вне форума Посмотреть профиль Отправить личное сообщение для aivashchenko Найти все сообщения от aivashchenko
  № 1  
aivashchenko

Регистрация: Nov 2012
Сообщений: 31
По умолчанию Чтение атрибутов из XML

Добрый день!
подскажите как можно прочесть атрибуты из xml файла.
XML:
Код:
 <appSettings>

    <add key="1-1" value="1" />
    <add key="2-2" value="2" />
 
  </appSettings>
Код AS3:
var myXML:XML;
 
function allLoad(event:Event):void {
var tempLoader:URLLoader=URLLoader(event.target);
tts: myXML=new XML(tempLoader.data);
if (myXML!="") {
for each (var item:XML in myXML.appSettings); {
ComText.htmlText+='<b>'+item.key+'</b> '+item.value+"<br>";}
} else {
ComText.htmlText="Пока комментариев нет";}
}
Если xml <тег>значение</тег> - проблем нет, но мне нужно прочесть из xml с вложенными атрибутами.

Старый 04.11.2012, 19:37
TWETTI вне форума Посмотреть профиль Отправить личное сообщение для TWETTI Найти все сообщения от TWETTI
  № 2  
TWETTI
 
Аватар для TWETTI

Регистрация: Dec 2007
Адрес: Россия, Москва
Сообщений: 541
Отправить сообщение для TWETTI с помощью Skype™
Чтобы прочитать атрибут к нему надо обращаться через символ "@"
Код AS3:
xml.tag.@atrubute

Старый 04.11.2012, 19:52
aivashchenko вне форума Посмотреть профиль Отправить личное сообщение для aivashchenko Найти все сообщения от aivashchenko
  № 3  
aivashchenko

Регистрация: Nov 2012
Сообщений: 31
Если я правильно понял, то должно быть так:
Код AS3:
function allLoad(event:Event):void {
var tempLoader:URLLoader=URLLoader(event.target);
tts: myXML=new XML(tempLoader.data);
if (myXML!="") {
for each (var item:XML in myXML.comment); {
ComText.htmlText+='<b>'+item.add.@name+'</b> '+item.add.@ip+"<br>";}
} else {
ComText.htmlText="Пока комментариев нет";}
}
К сожалению xml не читает. Подскажите пожалуйста где ошибка.

Добавлено через 1 минуту
для XML:
Код:
<?xml version="1.0" encoding="utf-8"?>
<test_1>
<coment>
<add name="Интервал_отправки_сообщений" ip ="25"/>
</comment>
</test_1>
Добавлено через 1 минуту
Код:
<test_1>
<coment>
<add name="Интервал_отправки_сообщений" ip ="25"/>
</comment>
</test_1>

Старый 04.11.2012, 20:05
TWETTI вне форума Посмотреть профиль Отправить личное сообщение для TWETTI Найти все сообщения от TWETTI
  № 4  
TWETTI
 
Аватар для TWETTI

Регистрация: Dec 2007
Адрес: Россия, Москва
Сообщений: 541
Отправить сообщение для TWETTI с помощью Skype™
Так будет работать:
Код AS3:
var myXML:XML = new XML(
<test_1>
<comment>
<add name="Интервал_отправки_сообщений" ip ="25"/>
</comment>
</test_1>
);
 
if (myXML)
{
	for each (var item:XML in myXML.comment)
	{
		trace('<b>'+item.add.@name+'</b> '+item.add.@ip+"<br>");
	}
}
else
{
	trace("Пока комментариев нет");
}
У вас были ошибки в самом XML файле и в коде.

Старый 04.11.2012, 20:23
aivashchenko вне форума Посмотреть профиль Отправить личное сообщение для aivashchenko Найти все сообщения от aivashchenko
  № 5  
aivashchenko

Регистрация: Nov 2012
Сообщений: 31
прошу прощения за глупость. Вот полны код:
Код AS3:
var loader:URLLoader = new URLLoader();
loader.addEventListener(Event.COMPLETE, allLoad);
loader.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
 
function ioErrorHandler(event:IOErrorEvent):void {
trace("Невозможно загрузить файл - "+event);
}
 
var myXML:XML = new XML();
 
function allLoad(event:Event):void {
var tempLoader:URLLoader=URLLoader(event.target);
myXML=new XML(tempLoader.data);
if (myXML) {
for each (var item:XML in myXML.comment)
	{
		trace('<b>'+item.add.@name+'</b> '+item.add.@ip+"<br>");
	}
}
else
{
	trace("Пока комментариев нет");}
}
var request:URLRequest=new URLRequest("source/comments.xml");
loader.load(request);
loader.load(new URLRequest("source/comments.xml"));
var nameXML:String="source/comments.xml?"+Math.random();
Код:
<test_1>
<comment>
<add name="Интервал_отправки_сообщений" ip ="25"/>
</comment>
</test_1>
подскажите почему лыжи не едут

Старый 04.11.2012, 20:27
TWETTI вне форума Посмотреть профиль Отправить личное сообщение для TWETTI Найти все сообщения от TWETTI
  № 6  
TWETTI
 
Аватар для TWETTI

Регистрация: Dec 2007
Адрес: Россия, Москва
Сообщений: 541
Отправить сообщение для TWETTI с помощью Skype™
У меня все работает.

Старый 04.11.2012, 20:46
aivashchenko вне форума Посмотреть профиль Отправить личное сообщение для aivashchenko Найти все сообщения от aivashchenko
  № 7  
aivashchenko

Регистрация: Nov 2012
Сообщений: 31
скопипастил все отсюда и в AS3 и в xml. ничего не отображает в текстовом окне(((
в кэше не висит пробовал с другого компа

Старый 05.11.2012, 07:55
Isfet вне форума Посмотреть профиль Отправить личное сообщение для Isfet Найти все сообщения от Isfet
  № 8  
Isfet

Регистрация: Mar 2012
Адрес: г.Новосибирск
Сообщений: 381
у меня тоже все работает
у вас так трейсится?
Код AS3:
myXML=new XML(tempLoader.data);
trace(myXML);
если нет, то файл лежит не в том месте.


если да, трейсите так и смотрите на каком шаге у вас не работает
Код AS3:
if (myXML!="") {
	trace(myXML.comment[0]);
	trace(myXML.comment[0].add.@ip);
эту строку
Код AS3:
if (myXML)
замените обратно на
Код AS3:
if (myXML!="")
так как даже при пустом XML она всегда будет возвращать true

Старый 05.11.2012, 11:56
elder_Nosferatu вне форума Посмотреть профиль Отправить личное сообщение для elder_Nosferatu Найти все сообщения от elder_Nosferatu
  № 9  
elder_Nosferatu
 
Аватар для elder_Nosferatu

Регистрация: Nov 2010
Адрес: 48° 55'N 24° 42'E GMT +2:00
Сообщений: 399
Записей в блоге: 1
Осмелюсь предположить, что топик стартер ожидает вывод в каком нибуть текст-филде ибо действительно все трейсы работают...

Старый 05.11.2012, 13:40
gagaga вне форума Посмотреть профиль Отправить личное сообщение для gagaga Найти все сообщения от gagaga
  № 10  
gagaga
[+1 22.04.13]
[+1 06.03.13]

Регистрация: Apr 2012
Сообщений: 239
мой вам совет: юзайте StringUtil.substitute()

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

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

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


 


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


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