Я не могу прочитать атрибут из XML / RSS на ActionScript 3 (флэш) - PullRequest
0 голосов
/ 15 февраля 2011

очень простой вопрос, у меня есть это: (только часть полного файла rss)

 <item>
      <title>Ok, de regalo de San Valentin me pueden dar un viaje a Playa del Carmen! Digo, entre todos lo pagan! No?? #So&#241;arNoCuestaNada</title>
      <link>http://twitter.com/glenyvalente/statuses/37202068301295616</link>
      <description>Ok, de regalo de San Valentin me pueden dar un viaje a &lt;b&gt;Playa&lt;/b&gt; del Carmen! Digo, entre todos lo pagan! No?? &lt;a href=&quot;http://search.twitter.com/search?q=%23So%C3%B1arNoCuestaNada&quot; onclick=&quot;pageTracker._setCustomVar(2, 'result_type', 'recent', 3);pageTracker._trackPageview('/intra/hashtag/#So&#241;arNoCuestaNada');&quot;&gt;#So&#241;arNoCuestaNada&lt;/a&gt;</description>
      <pubDate>Mon, 14 Feb 2011 17:30:38 +0000</pubDate>
      <guid>http://twitter.com/glenyvalente/statuses/37202068301295616</guid>
      <author>glenyvalente@twitter.com (Gleny Valente)</author>
      <media:content type="image/jpg" width="48" url="http://a1.twimg.com/profile_images/1225905511/S5030401_normal.JPG" height="48"/>
      <google:image_link>http://a1.twimg.com/profile_images/1225905511/S5030401_normal.JPG</google:image_link>
      <google:location>Venezuela</google:location>
      <twitter:metadata>
        <twitter:result_type>recent</twitter:result_type>
      </twitter:metadata>
    </item>

И я прочитал <title> и <pubDate>, используя:

function rssLoaded(evt:Event):void {
    rssXML = XML(rssLoader.data);
    for(var item:String in rssXML.channel.item) {
    fechas.push(rssXML.channel.item[item].pubDate.substr(0, 16));
    titulos.push(rssXML.channel.item[item].title);
    trace(rssXML.channel.item[item].media:content.attributes.url);
    total=total+1;
    }
    trace(total);
}

но trace(rssXML.channel.item[item].media:content.attributes.url); всегда пусто, так как я могу прочитать атрибут url из тега <media> ??? Спасибо!

Ответы [ 2 ]

1 голос
/ 15 февраля 2011

http://help.adobe.com/...

@ идентификатор атрибута

Использование

myXML.@attributeName

Идентифицирует атрибуты объекта XML или XMLList. Например, myXML. @ Id идентифицирует атрибуты с именем id для объекта myXML XML. Вы также можете использовать следующий синтаксис для доступа к атрибутам: myXML.attribute ("id"), myXML ["@ id"] и myXML. @ ["Id"]. Синтаксис myXML. @ Id рекомендуется. Чтобы вернуть объект XMLList всех имен атрибутов, используйте @ *. Чтобы вернуть атрибут с именем, совпадающим с зарезервированным словом ActionScript, используйте метод attribute () вместо оператора @.

var myXML:XML = 
    <item id = "42">
        <catalogName>Presta tube</catalogName>
        <price>3.99</price>
    </item>;

trace(myXML.@id); // 42

В вашем случае:

trace(rssXML.channel.item[item].media:content.@url);
1 голос
/ 15 февраля 2011

Вы пробовали .attribute("url") Я думаю .attributes() для всех атрибутов в этом элементе.

Попробуйте прочитать Обход XML-структур

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...