Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Flash и XML(Соколов ИС-107).docx
Скачиваний:
18
Добавлен:
25.09.2019
Размер:
1.14 Mб
Скачать

Работа с xml

Action Script 3 включает несколько классов, используемых для работы со структурированной в XML информацией. Основными классами являются два следующих:

  • XML: представляет одиночный XML-элемент, который может быть XML-документом с несколькими дочерними элементами или элементом одиночного значения внутри документа.

  • XMLList: представляет набор XML-элементов. Объект XMLList используется при наличии нескольких XML-элементов одного уровня.

Чтобы создать XML-элемент необходимо объявить его в виде переменной и задать его структуру:

var myXML:XML =

<order>

<item id='1'>

<menuName>burger</menuName>

<price>3.95</price>

</item>

<item id='2'>

<menuName>fries</menuName>

<price>1.45</price>

</item>

</order>

Теперь для того чтобы обратиться к определенному значению, заключенному в теге, надо постепенно от имени XML-элемента до самого последнего имени тега обращаться через “.”, исключение составляет самый верхний тег XML-элемента (его в пути не надо указывать):

trace(myXML.item[0].menuName); //выводит “burger”

Стоит обратить внимание, что обращение к элементу массива в XML осуществляется через его порядковый индекс. Индексы нумеруются от 0 до n-1, где n – количество элементов массива. Также можно обратиться через свойство или атрибут.

trace(myXML.item.(@id==2).menuName); // выводит fries

trace(myXML.item.(menuName=="burger").price); // выводит 3.95

Символ ‘@’ используется для обращения к атрибутам того или иного тега.

При работе с XML есть возможность не только получать данные, но и записывать их. Например, добавим еще один элемент в myXML:

myXML.item[2].menuName = "cola";

myXML.item[2].@id = 3;

Работа с классами

Класс — это абстрактное представление объекта. В классе хранится информация о типах данных, которые может содержать объект, и о его возможных видах поведения. Полезность такой абстракции может быть не такой заметной при создании небольших сценариев, содержащих всего несколько взаимодействующих между собой объектов. Однако по мере расширения области действия программы и увеличения числа управляемых объектов, становится очевидно, что классы обеспечивают более полный контроль над созданием и взаимодействием объектов.

Правильный синтаксис для определения класса вызывает ключевое слово class, за которым следует имя класса. Тело класса, заключенное в фигурные скобки ({}), идет после имени класса. Например, следующий код создает класс с именем Shape, содержащий одну переменную visible.

public class Shape

{

var visible:Boolean = true;

}

Чтобы работать с классом в Action Script 3, необходимо сначала создать пакет для этого класса. Пакет обозначается как package.

package main

{

public class myClass{}

}

Данный код сохраняется в файле с расширением .as в папке с именем main. Эта папка должна находиться в папке основного проекта. Таким образом, мы можем подключить этот класс, когда потребуется.

Тело класса, заключенное в фигурные скобки, служит для определения переменных, констант и методов класса. Для класса мы определяем его свойства и методы.

public class myClass

{

public var count:Number;

private function getCount():Number

{

return count;

}

}

Здесь мы определили одно свойство класса count и один метод getCount, который возвращает нам значение свойства count.

С любым свойством класса может использоваться несколько атрибутов:

Эти атрибуты указываются перед каждым свойством класса при объявлении этого свойства.

Методы — это функции, которые входят в состав определения класса. Когда создается экземпляра класса, с ним связывается метод. В отличие от функции, объявленной за пределами класса, метод нельзя использовать отдельно от экземпляра, с которым он связан. Методы определяются с использованием ключевого слова function. Как и свойства класса, любой их атрибут можно применить к методам, включая личные, защищенные, общедоступные, внутренние, статические или пользовательские пространства имен.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]