Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Веб-разработка? Это просто! Парсинг XML в ActionScript 3.0


Возникла у меня однажды задача - создать Flash-контрол, в котором постоянно сверху вниз прокручивается список неких сайтов, причем при наведении мыши на этот контрол прокручивание останавливается, а содержимое пункта списка, на который наведена мышь, разворачивается, и мы теперь можем наблюдать саму ссылку на сайт и краткое описание сайта внизу. Как-то так:
scroller
Собственно, хотелось создать универсальный контрол, такой, чтобы и список сайтов и все цвета, и скорость прокрутки, и вообще все изменяемые параметры хранились бы где-то отдельно от самого Flash-контрола, чтобы, когда дизайнеру захочется поменять оформление этого котнрола или его содержимое, он бы меня не дергал лишний раз. Разумное желание. И решил я остановиться на хранении всех этих данных в XML-файле.
Файл этот имеет вот такой формат:
<?xml version="1.0" encoding="UTF-8"?>
<config>
<control speed="10" indent="24.9"/>
<sites>
<site name="веб-разработка" link="easy4web.ru"
url="http://easy4web.ru/" descr="веб-дизайнер и
веб-программист срывают оковы, освещают темные
места" height="38"/>
<site name="Яндекс" link="yandex.ru" url="http://yandex.ru/" descr="
Поиск от Яндекс. Найдется все!" height="38"/>
<site name="почта от google" link="gmail.com" url="http://gmail.com/"
 descr="Бесплатная почта от google. Попробуй, не пожалеешь."
height="38"/>
</sites>
</config>

Здесь мы видим один корневой элемент <config> в который вложены: элемент <control> одержащий в себе атрибуты, касающиеся всего контрола в целом, и элемент <sites> содержащий в себе дочерние узлы <site>, каждый из которых описывает отдельный элемент прокручиваемого в контроле списка.
Осталось теперь разобраться как разобрать этот файл при помощи ActionScript.
Но для начала структурируем немного в виде классов информацию, хранящуюся в XML-файле.
Элемент <site> мы опишем следующим классом (файл SiteItem.as):
package inc{
public class SiteItem extends Object {
public var pName:String;
public var pLink:String;
public var pURL:String;
public var pDescr:String;
public var pHeight:Number;
public function SiteItem(p_Name:String, p_Link:String, p_URL:String,
p_Descr:String, p_Height:Number){
pName=p_Name;
pLink=p_Link;
pURL=p_URL;
pDescr=p_Descr;
pHeight=p_Height;
}
}
}

Как видно, это просто класс с открытыми полями и одним конструктором. Ничего сложного.
А вот еще один класс, описывающий весь XML-файл (ScrollerParameters.as):
Полный текст статьи Парсинг XML в ActionScript 3.0 Вы можете прочитать на сайтеВеб-разработка? Это просто!

В избранное