- •Описание, назначение и возможности технологии Adobe Flash.
- •Программное обеспечение для создания и просмотра проектов Adobe Flash.
- •Отличительные особенности и назначение языка Action Script.
- •Внедрение кода на языке Action Script к Flash-проекту. Пакет и класс.
- •Поля, методы, свойства и их области видимости в Action Script.
- •6.Наследование в ActionScript и объектная модель языка
- •7. Создание анимации и управление ею средствами Action Script
- •8.Элементы управления и их отличительные особенности
- •9.Назначение и особенности классов Object и DataProvider
- •10. Иерархия классов событий и способы обработки события в Action Script
- •События мыши и клавиатуры, генерируемые элементами управления
- •Класс Timer и принцип работы с ним
- •Особенности обработки событий, генерируемых компонентами List, ComboBox и DataGrid
- •Назначение класса urlRequest, его поля и методы
- •Назначение класса urlLoader и работа с ним
- •Компонент uiLoader, его отличие от класса urlLoader
- •17.Создание индикатора загрузки изображения
- •18.Описание xml. Созд.В Action Script xml-докум. И загрузка внешн xml-документов.
- •19.Анализ содержимого xml-документа
- •20. Изменение xml-документа, загруженного в память
- •21.Отправка xml-документа на http-сервер
- •22.Описание, назначение и возможности технологии Adobe air
- •23.Особенности разработки приложений Adobe air с использованием технологий AdobeFlash и языка Action Script. Drag-and-drop в air-приложениях.
- •24.Работа с файловой системой в приложении air
- •25.Работа с базами данных в приложении air
19.Анализ содержимого xml-документа
Слово анализ в данном случае означает разбор на составные, структурные части. Так, когда говорят о написании скрипта, анализирующего XML-документ, имеют в виду извлечение информации из этого документа. Во Flash объект XML имеет множество свойств, помогающих это сделать. Для иллюстрации применения некоторых из них мы воспользуемся XML-объектом из предыдущего примера – myXML.
firstChild: Это свойство указывает на первый узел внутри структуры. Например: myXML.firstChild.firstChild возвратит значение <Name Gender="female">Kelly Makar</Name>. Первый дочерний узел XML-документа есть корневой узел (MyFriends), а первый дочерний узел корневого узла – Name.
childNodes: Это свойство возвращает массив дочерних узлов данной точки структуры. Например: myArray = myXML.firstChild.childNodes. Массив myArray будет содержать два элемента, значения которых будут равны значениям двух узлов Name.
nextSibling: Это свойство указывает на следующий узел того же уровня в структуре. Например, myXML.firstChild.firstChild.nextSibling возвратит <Name Gender="male">Free Makar</Name>.
attributes: Это свойство возвращает ассоциативный массив имен атрибутов. Например: myXML.firstChild.firstChild.nextSibling.attributes.Gender возвратит значение "male".
20. Изменение xml-документа, загруженного в память
Одной из мощных возможностей XML является способность предоставлять через линейную строку текстовых символов сложные, вложенные данные. При загрузке данных в объект XML ActionScript проводит синтаксический анализ данных и загружает в память их иерархическую структуру (или выводит ошибку периода исполнения, если XML-данные плохо сформированы). Операторы и методы объектов XML и XMLList упрощают задачу обработки структуры XML-данных. Используйте оператор точки (.) и оператор доступа к более низкому уровню (..) для получения доступа к свойствам дочернего элемента объекта XML. Используйте метод prependChild() или appendChild() для добавления свойства в начало или конец списка свойств объектов XML, как показано в следующем примере:
var x1:XML = <p>Line 1</p> var x2:XML = <p>Line 2</p> var x:XML = <body></body> x = x.appendChild(x1); x = x.appendChild(x2); x = x.prependChild(<p>Line 0</p>); // x == <body><p>Line 0</p><p>Line 1</p><p>Line 2</p></body> Используйте метод insertChildBefore() или insertChildAfter() для добавления свойства перед или после определенного свойства, как показано далее: var x:XML = <body> <p>Paragraph 1</p> <p>Paragraph 2</p> </body> var newNode:XML = <p>Paragraph 1.5</p> x = x.insertChildAfter(x.p[0], newNode) x = x.insertChildBefore(x.p[2], <p>Paragraph 1.75</p>) Как видно из следующего примера, для передачи данных по ссылке (из других переменных) при создании объектов XML можно также использовать операторы фигурных скобок ({ и }):
var ids:Array = [121, 122, 123]; var names:Array = [["Murphy","Pat"], ["Thibaut","Jean"], ["Smith","Vijay"]] var x:XML = new XML("<employeeList></employeeList>"); for (var i:int = 0; i < 3; i++) { var newnode:XML = new XML(); newnode = <employee id={ids[i]}> <last>{names[i][0]}</last> <first>{names[i][1]}</first> </employee>; x = x.appendChild(newnode) } С помощью оператора = можно присвоить объекту XML свойства и атрибуты, как показано в примере ниже:
var x:XML = <employee> <lastname>Smith</lastname> </employee> x.firstname = "Jean"; x.@id = "239"; Этим для объекта XML x задается следующее: <employee id="239"> <lastname>Smith</lastname> <firstname>Jean</firstname> </employee> Для объединения объектов XMLList можно использовать операторы + и += :
var x1:XML = <a>test1</a> var x2:XML = <b>test2</b> var xList:XMLList = x1 + x2; xList += <c>test3</c>
Этим для объекта XMLList xList задается следующее:
<a>test1</a> <b>test2</b> <c>test3</c>