Как прочитать XML с множеством вариантов.

Обсуждение и помощь по вопросам взаимодействия с ВКонтакте API в Flash-приложениях (ActionScript)
Ответить
Аватара пользователя
alexei
Разработчик
Разработчик
Сообщения: 836
Зарегистрирован: 21 янв 2010, 19:44

Как прочитать XML с множеством вариантов.

Сообщение alexei »

Код: Выделить всё

<response list="true">−<ad><title>Sample ad</title><description>Sample ad description</description>−<photo>http://cs152.vkontakte.ru/u00001/75628422/s_5380d267.jpg</photo><link>http://vkontakte.ru</link></ad>−<ad><title>Sample ad</title><description>Sample ad description</description>−<photo>http://cs152.vkontakte.ru/u00001/75628422/s_5380d267.jpg</photo><link>http://vkontakte.ru</link></ad>−<ad><title>Sample ad</title><description>Sample ad description</description>−<photo>http://cs152.vkontakte.ru/u00001/75628422/s_5380d267.jpg</photo><link>http://vkontakte.ru</link></ad>−<ad><title>Sample ad</title><description>Sample ad description</description>−<photo>http://cs152.vkontakte.ru/u00001/75628422/s_5380d267.jpg</photo><link>http://vkontakte.ru</link></ad>−<ad><title>Sample ad</title><description>Sample ad description</description>−<photo>http://cs152.vkontakte.ru/u00001/75628422/s_5380d267.jpg</photo><link>http://vkontakte.ru</link></ad>−<ad><title>Sample ad</title><description>Sample ad description</description>−<photo>http://cs152.vkontakte.ru/u00001/75628422/s_5380d267.jpg</photo><link>http://vkontakte.ru</link></ad>−<ad><title>Sample ad</title><description>Sample ad description</description>−<photo>http://cs152.vkontakte.ru/u00001/75628422/s_5380d267.jpg</photo><link>http://vkontakte.ru</link></ad>−<ad><title>Sample ad</title><description>Sample ad description</description>−<photo>http://cs152.vkontakte.ru/u00001/75628422/s_5380d267.jpg</photo><link>http://vkontakte.ru</link></ad>−<ad><title>Sample ad</title><description>Sample ad description</description>−<photo>http://cs152.vkontakte.ru/u00001/75628422/s_5380d267.jpg</photo><link>http://vkontakte.ru</link></ad>−<ad><title>Sample ad</title><description>Sample ad description</description>−<photo>http://cs152.vkontakte.ru/u00001/75628422/s_5380d267.jpg</photo><link>http://vkontakte.ru</link></ad>−<ad><title>Sample ad</title><description>Sample ad description</description>−<photo>http://cs152.vkontakte.ru/u00001/75628422/s_5380d267.jpg</photo><link>http://vkontakte.ru</link></ad>−<ad><title>Sample ad</title><description>Sample ad description</description>−<photo>http://cs152.vkontakte.ru/u00001/75628422/s_5380d267.jpg</photo><link>http://vkontakte.ru</link></ad>−<ad><title>Sample ad</title><description>Sample ad description</description>−<photo>http://cs152.vkontakte.ru/u00001/75628422/s_5380d267.jpg</photo><link>http://vkontakte.ru</link></ad>−<ad><title>Sample ad</title><description>Sample ad description</description>−<photo>http://cs152.vkontakte.ru/u00001/75628422/s_5380d267.jpg</photo><link>http://vkontakte.ru</link></ad>−<ad><title>Sample ad</title><description>Sample ad description</description>−<photo>http://cs152.vkontakte.ru/u00001/75628422/s_5380d267.jpg</photo><link>http://vkontakte.ru</link></ad>−<ad><title>Sample ad</title><description>Sample ad description</description>−<photo>http://cs152.vkontakte.ru/u00001/75628422/s_5380d267.jpg</photo><link>http://vkontakte.ru</link></ad>−<ad><title>Sample ad</title><description>Sample ad description</description>−<photo>http://cs152.vkontakte.ru/u00001/75628422/s_5380d267.jpg</photo><link>http://vkontakte.ru</link></ad>−<ad><title>Sample ad</title><description>Sample ad description</description>−<photo>http://cs152.vkontakte.ru/u00001/75628422/s_5380d267.jpg</photo><link>http://vkontakte.ru</link></ad>−<ad><title>Sample ad</title><description>Sample ad description</description>−<photo>http://cs152.vkontakte.ru/u00001/75628422/s_5380d267.jpg</photo><link>http://vkontakte.ru</link></ad>−<ad><title>Sample ad</title><description>Sample ad description</description>−<photo>http://cs152.vkontakte.ru/u00001/75628422/s_5380d267.jpg</photo><link>http://vkontakte.ru</link></ad></response>
Такой XML на входе.

Читаю так:

Код: Выделить всё

var md5str:String=calculate(viewerid+"api_id="+apid+"method=getAdstest_mode=1v=2.0"+key);XML_URL=apiulr+"?api_id="+apid+"&v=2.0&method=getAds&test_mode=1&sig="+md5str;myXMLURL=new URLRequest(XML_URL);myLoader=new URLLoader(myXMLURL);myLoader.addEventListener("complete", xmlAds); function xmlAds(event:Event):void {    myXML=XML(myLoader.data);       adsphoto=myXML.ad.photo.toString();}
возвращает
<photo>....</photo>

Если
adstitle=myXML..title; То вообще возврата нету.
Что надо сделать что-бы прочитать?
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: Как прочитать XML с множеством вариантов.

Сообщение Александр »

alexei
Чтобы твоё сообщение было удобнее читать тем, кто мог бы тебе помочь, оформляй его - http://flapps.ru/forum/topic414.html

Код: Выделить всё

trace(myXML..ad..photo[0]);// илиfor each(var item in response..ad) {    trace(item..photo);}
Аватара пользователя
alexei
Разработчик
Разработчик
Сообщения: 836
Зарегистрирован: 21 янв 2010, 19:44

Re: Как прочитать XML с множеством вариантов.

Сообщение alexei »

Код: Выделить всё

for each(var item in response..search)
Пишет
find, слой "Слой 1", кадр 3, строка 65 1120: Обращение несуществующего свойства response.
Аватара пользователя
bodnar
Модератор
Модератор
Сообщения: 1399
Зарегистрирован: 03 апр 2010, 06:41

Re: Как прочитать XML с множеством вариантов.

Сообщение bodnar »

myxml.response..search
Аватара пользователя
alexei
Разработчик
Разработчик
Сообщения: 836
Зарегистрирован: 21 янв 2010, 19:44

Re: Как прочитать XML с множеством вариантов.

Сообщение alexei »

Что-то не работает

Код: Выделить всё

 <?xml version="1.0" encoding="utf-8"?><response list="true"> <user>  <uid>1</uid>  <first_name>Павел</first_name>  <last_name>Дуров</last_name>  <nickname/>  <sex>2</sex>  <bdate>10.10.1984</bdate>  <city>2</city>  <country>1</country>  <timezone>3</timezone>  <photo>http://cs1495.vkontakte.ru/u00001/c_85852073.jpg</photo>  <photo_medium>http://cs1495.vkontakte.ru/u00001/b_20bd325e.jpg</photo_medium>  <photo_big>http://cs1495.vkontakte.ru/u00001/a_03b4cf47.jpg</photo_big>  <has_mobile>1</has_mobile>  <rate>82499</rate> </user></response>  

Код: Выделить всё

 var myXML:XML = new XML();XML_URL='http://api.vkontakte.ru/api.php?api_id='+apid+'&fields=first_name, last_name, nickname, sex, bdate, city, country, timezone, photo, photo_medium, photo_big, has_mobile, rate, contacts, education&method=getProfiles&uids='+mainid+'&v=2.0&sig='+md5profile;myXMLURL = new URLRequest(XML_URL);myLoader = new URLLoader(myXMLURL);myLoader.addEventListener("complete", xmlGetProfile);function xmlGetProfile(event:Event):void{            ...}
Запрос верный, но в поле не записывается.
Что надо писать вместо ...?
Или есть варианты простого чтение из XML без извращения?
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: Как прочитать XML с множеством вариантов.

Сообщение Александр »

alexei писал(а):Что надо писать вместо ...?
Что нужно вывести?
Имя:

Код: Выделить всё

trace(myXML..first_name);
Советую почитать про то как работать с XML в AS и разобраться в этом.
Ответить