Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > Flex

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 14.06.2011, 14:52
boriskaaa вне форума Посмотреть профиль Отправить личное сообщение для boriskaaa Найти все сообщения от boriskaaa
  № 1  
Ответить с цитированием
boriskaaa

Регистрация: Nov 2010
Сообщений: 23
По умолчанию Обработка xml

Всем привет.


Я получаю через службу HTTPService данные в xml формате. Стоит resultFormat="e4x"

Сам xml получаю такой

Код:
<requestResult xmlns="http://kasko.ntoi.ru/LightweightCalculation" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
  <data i:type="vehicleMarks">
    <vehicleMark>
      <id>f29eac59-45f3-4de8-98d3-953059142995</id>
      <name>Acura</name>
      <type>c33649f2-868e-42aa-8b23-e543ec63892e</type>
    </vehicleMark>
    <vehicleMark>
      <id>33050bdc-d0bd-4f24-ba70-725190ce8e00</id>
      <name>Alfa Romeo</name>
      <type>c33649f2-868e-42aa-8b23-e543ec63892e</type>
    </vehicleMark>
  </data>
  <error i:nil="true"/>
  <isSuccess>true</isSuccess>
</requestResult>
Как мне получить данные <name> </name> ?

Просто я пробовал так
Код:
requestGetMarks.lastResult.data.vehicleMark.name
Но мне выдаётся пустое значение. Хотя в примерах смотрел, что так делают и всё работало. Хочется понять, что делаю не так.

Старый 14.06.2011, 15:00
goodguy вне форума Посмотреть профиль Найти все сообщения от goodguy
  № 2  
Ответить с цитированием
goodguy
Banned
[+1 05.11.11]
[+1 09.08.11]

Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
ну, если этот код грузится челез URLLoader, и присваивается переменной так:
Код AS3:
var xml:XML = XML(e.target.data)
то получить можно так:
Код AS3:
xml.data.vehicleMark.name

Старый 14.06.2011, 15:12
boriskaaa вне форума Посмотреть профиль Отправить личное сообщение для boriskaaa Найти все сообщения от boriskaaa
  № 3  
Ответить с цитированием
boriskaaa

Регистрация: Nov 2010
Сообщений: 23
Цитата:
Сообщение от goodguy Посмотреть сообщение
ну, если этот код грузится челез URLLoader, и присваивается переменной так:
Код AS3:
var xml:XML = XML(e.target.data)
то получить можно так:
Код AS3:
xml.data.vehicleMark.name
Пробовал и так. То же самое получается, просто пустая строка. Да и вообщем должно работать в обоих вариантах.


Последний раз редактировалось boriskaaa; 14.06.2011 в 15:15.
Старый 14.06.2011, 15:14
Astraport вне форума Посмотреть профиль Отправить личное сообщение для Astraport Найти все сообщения от Astraport
  № 4  
Ответить с цитированием
Astraport
 
Аватар для Astraport

блогер
Регистрация: Sep 2009
Сообщений: 2,463
Записей в блоге: 2
Хотя могу напутать по памяти примерно так:
Код AS3:
private var xmldata:XML;
  [Bindable] private var myArr:ArrayCollection=new ArrayCollection;
 
  private function resultHandler(event:ResultEvent):void{
      xmldata=event.result as XML;
 
      for each (var thexml:XML in xmldata){
 
      	 var obj:Object= {"id":thexml.vehicleMark.@id,
                        "name":thexml.vehicleMark.@name,
                        "type":thexml.vehicleMark.@type};
 
         myArr.addItem(obj);
      }
  }
Хотя если в FB работаете, там есть удобная панель Network monitor где можно контролировать HTTPService запросы и ответы.

Старый 14.06.2011, 15:27
boriskaaa вне форума Посмотреть профиль Отправить личное сообщение для boriskaaa Найти все сообщения от boriskaaa
  № 5  
Ответить с цитированием
boriskaaa

Регистрация: Nov 2010
Сообщений: 23
хотя вот он пишет ещё в отладке

Код:
warning: unable to bind to property 'vehicleMark' on class 'XML' (class is not an IEventDispatcher)
warning: unable to bind to property 'name' on class 'XMLList' (class is not an IEventDispatcher)
Добавлено через 3 минуты
Цитата:
Сообщение от Astraport Посмотреть сообщение
Хотя могу напутать по памяти примерно так:
Код AS3:
private var xmldata:XML;
  [Bindable] private var myArr:ArrayCollection=new ArrayCollection;
 
  private function resultHandler(event:ResultEvent):void{
      xmldata=event.result as XML;
 
      for each (var thexml:XML in xmldata){
 
      	 var obj:Object= {"id":thexml.vehicleMark.@id,
                        "name":thexml.vehicleMark.@name,
                        "type":thexml.vehicleMark.@type};
 
         myArr.addItem(obj);
      }
  }
Хотя если в FB работаете, там есть удобная панель Network monitor где можно контролировать HTTPService запросы и ответы.
Этот вариант тоже не отработал(..
Пишет
Код:
[object Object]
[object Object]


Последний раз редактировалось boriskaaa; 14.06.2011 в 15:37.
Старый 14.06.2011, 16:04
Astraport вне форума Посмотреть профиль Отправить личное сообщение для Astraport Найти все сообщения от Astraport
  № 6  
Ответить с цитированием
Astraport
 
Аватар для Astraport

блогер
Регистрация: Sep 2009
Сообщений: 2,463
Записей в блоге: 2
Цитата:
Этот вариант тоже не отработал(..
Пишет
Код:
[object Object]
Ну значит нужно по разному пробовать. Так напрмер:
Код AS3:
for each (var thexml:XML in xmldata.data){
 
      	 var obj:Object= {"id":thexml.vehicleMark.@id,
                        "name":thexml.vehicleMark.@name,
                        "type":thexml.vehicleMark.@type};
 
         myArr.addItem(obj);
      }

Старый 14.06.2011, 16:12
boriskaaa вне форума Посмотреть профиль Отправить личное сообщение для boriskaaa Найти все сообщения от boriskaaa
  № 7  
Ответить с цитированием
boriskaaa

Регистрация: Nov 2010
Сообщений: 23
Цитата:
Сообщение от Astraport Посмотреть сообщение
Ну значит нужно по разному пробовать. Так напрмер:
Код AS3:
for each (var thexml:XML in xmldata.data){
 
      	 var obj:Object= {"id":thexml.vehicleMark.@id,
                        "name":thexml.vehicleMark.@name,
                        "type":thexml.vehicleMark.@type};
 
         myArr.addItem(obj);
      }

Пробовал и так и сяк....блин...фигня какая-то...

Старый 14.06.2011, 16:34
goodguy вне форума Посмотреть профиль Найти все сообщения от goodguy
  № 8  
Ответить с цитированием
goodguy
Banned
[+1 05.11.11]
[+1 09.08.11]

Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
boriskaaa, а какой у xml заголовок?
Там указана версия xml ?

Старый 14.06.2011, 16:41
Astraport вне форума Посмотреть профиль Отправить личное сообщение для Astraport Найти все сообщения от Astraport
  № 9  
Ответить с цитированием
Astraport
 
Аватар для Astraport

блогер
Регистрация: Sep 2009
Сообщений: 2,463
Записей в блоге: 2
да, XML какой-то неправильный.

Добавлено через 1 минуту
Загнал HTTPService с этим XML - Нетверк монитор все данные показывает. Значит нужно их просто правильно разобрать.

Старый 14.06.2011, 16:49
boriskaaa вне форума Посмотреть профиль Отправить личное сообщение для boriskaaa Найти все сообщения от boriskaaa
  № 10  
Ответить с цитированием
boriskaaa

Регистрация: Nov 2010
Сообщений: 23
Цитата:
Сообщение от goodguy Посмотреть сообщение
boriskaaa, а какой у xml заголовок?
Там указана версия xml ?
Так заголовок такой и есть...как в первом посте... Это из-за него всё? Если так, то я не могу его менять.
Может как-то можно его туда вставить? ...

Создать новую тему Ответ Часовой пояс GMT +4, время: 00:56.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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