Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   преобразование Object в XML (http://www.flasher.ru/forum/showthread.php?t=153314)

Haiat 31.03.2011 18:38

преобразование Object в XML
 
Есть ответ от сервера (через SOAP)

firebug как ответ показывает, пришедший xml.

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

Спасибо

in4core 31.03.2011 18:45

попробуйте
Код AS3:

var str:String = uServerAnswer;
var xml:XML = new XML(str);

Ну а вообще как то странно если в фаербаге xml а во флеше объекты... Хотелось бы посмотреть, что в фаербаге показывает

gloomyBrain 31.03.2011 18:48

SOAP основан на XML (точнее, расширяет его). По этому нужно писать свой парсер

Цитата:

попробуйте
Если приходит объект, где взять строку? =)

Haiat 31.03.2011 18:50

Код AS3:

trace(ObjectUtil.toString(e.result));

вот этот трейс выкидвает следующую структуру:
Код:

(Object)#0
  flights = (mx.collections::ArrayCollection)#1
    filterFunction = (null)
    length = 5
    list = (mx.collections::ArrayList)#2
      length = 5
      source = (Array)#3
        [0] (Object)#4
          carrier = (Object)#5
.......................

а firebug показывает как ответ все как надо:

Код:

<?xml version='1.0' encoding='UTF-8'?><S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"><S:Body><ns2:searchFlightsResponse xmlns:ns2="http://ws.alliance.server.xtrip.gridnine.com/"><return><messages /><flights><flight><token>PG9ia....................

alatar 31.03.2011 19:45

Код AS3:

operation.resultFormat = "e4x";


surlac 31.03.2011 19:50

Цитата:

Сообщение от Haiat (Сообщение 985626)
Как перевести его в формат XML, чтобы было удобнее работать

Попробуйте реализацию SOAP-протокола от Alducente. Там кодер и декодер. Либа 2007-го года, но думаю еще не устарела, т.к. последняя версия спецификации SOAP 1.2 как раз была в 2007-м.

Haiat 01.04.2011 13:28

Цитата:

Сообщение от alatar (Сообщение 985645)
Код AS3:

operation.resultFormat = "e4x";


возвращает ошибку, что Undefinded свойство. посмотрел в документации:

в указателе нашел:

Цитата:

resultFormat — Свойство, класс mx.rpc.http.AbstractOperation
Значение, указывающее способ десериализации возвращаемого результата при вызове HTTP.
хотя в документации класса AbstractOperation не нашел такого свойства http://help.adobe.com/ru_RU/FlashPla...l#eventSummary

alatar 01.04.2011 13:32

Это свойство класса mx.rpc.soap.Operation. Что бы не было ошибок надо привести полученный AbstractOperation к Operation.

Haiat 01.04.2011 13:50

УРА!))
привел так:
Цитата:

var operation1:Operation = Operation(operation);
Спасибо! теперь у меня XML!

PS: а почему в FD могли пропасть подсказки при наборе (свойства, методы) у созданных мною объектов?


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

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