Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
KA-15-Lek-P.doc
Скачиваний:
3
Добавлен:
14.09.2019
Размер:
303.62 Кб
Скачать

§15.4. Загрузка xml

Обычно работа с XML во Flash заключается в загрузке документа из внешнего источника или отсылке куда-либо. Чтобы загрузить XML из внешнего источника, необходимо сделать следующее:

  1. Создать объект XML.

  2. C помощью метода load() объекта XML загрузить данные в XML-формате из внешнего источника.

Например:

myXML = new XML();

myXML.load("http://somedomain.com/info.xml");

В данном случает документ загружается из статичного XML-файла, однако это не единственный путь. Можно указать ASP-страницу (или другую страницу сценария), результатом выполнения скрипта которой станет XML-документ.

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

function init () {

//здесь могут быть действия, анализирующие документ

}

myXML = new XML();

myXML.onLoad = init;

myXML.load("http://somedomain.com/info.xml");

Как указывает вторая снизу строка, по завершении загрузки документа XML должна быть вызвана функция init.

§15.5. Посылка xml

Объект XML дает возможность отослать XML-данные по указанному адресу. Также имеется возможность, послав XML, сразу же загрузить результаты его обработки.

Для отсылки XML нужно воспользоваться методом send(), указав необходимый URL. Например:

myXML = new XML("<Message><Text>Hi!</Text></Message>");

myXML.send("http://somedomain.com/somedestination.asp");

Чтобы послать XML и сразу получить ответ, следует применить метод sendAndLoad() объекта XML. При этом необходимо указать XML-объект, содержимое которого нужно отослать, URL-адрес места назначения, а также объект XML, в который должно быть загружено ответное послание. Как и в случае с методом load(), здесь событие onLoad поможет узнать, что ответ уже загружен. Вот пример:

URL = "http://www.electrotank.com/projects/tfts/using_xml/UserLogin.asp";

function init () {

trace(objToReceive);

}

xmlToSend =

"<Login><UserName>Jobem</UserName><Password>hayes</Password></Login>";

objToSend = new XML(xmlToSend);

objToReceive = new XML();

objToReceive.onLoad = init;

objToSend.sendAndLoad(URL, objToReceive);

Данный скрипт создает объект XML (objToSend), содержащий информацию для входа на сайт, и затем отсылает его на URL, ожидая получить ответ. Как только этот ответ будет полностью загружен в принимающий XML-объект (objToReceive), вызывается функция init.

Узнав первичную информацию о формате XML, а также об объектах XML, их методах и свойствах можно перейти к созданию несколько простых XML-документов, выполнив несложный анализ и применив метод sendAndLoad() – все это в рамках Flash-приложения, которое будет служить экраном регистрации пользователей.

Flash-файл, над которым мы будем работать в этом разделе, взаимодействует с ASP-страницами. Чтобы полностью построить и протестировать этот файл, вам понадобится доступ к серверу, который сможет выполнить ASP-скрипты (как правило, это серверы под управлением Windows). Для тестирования файлов этого упражнения нужно выложить на Windows-сервер, в один каталог, два ASP-файла (AddUser.asp и UserLogin.asp) и файл базы данных MS Access (XMLExample.mdb). Эти файлы вы найдете в папке Lesson12/Assets.

Страница AddUser.asp воспринимает XML-документы, имеющие следующую структуру:

<Register>

<UserName>jobem</UserName>

<Email>jobe@electrotank.com</Email>

<Password>secret</Password>

</Register>

В случае правильной регистрации пользователя страница AddUser.asp возвращает следующий результат:

<Register>

<Message>User Inserted</Message>

</Register>

Если же пользователь с таким именем уже существует, будет возвращен такой результат:

<Register>

<Message>User Exists</Message>

</Register>

Страница UserLogin.asp воспринимает XML-документы, имеющие следующую структуру:

<Login>

<UserName>jobem</UserName>

<Password>secretword</Password>

</Login>

Если информация верна, то страница возвращает следующий результат:

<Login>

<Message>Login Correct</Message>

</Login>

Если информация неверна, будет возвращен такой результат:

<Login>

<Message>Login Incorrect</Message>

</Login>

6

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