2009-12-22 9 views
1

Il y a des tirets dans les attributs d'un xml, et je ne sais pas comment les filtrer: Ici vous pouvez voir un exemple simple du xml:ActionScript3: filtrage des attributs xml contenant des tirets?

<posts> 
<post> 
    <photo-url max-width="1280">http://blabla.tumblr.com/photo/98</photo-url> 
</post> 
</posts> 

Comme aussi la photo-url-tag a un tiret, j'avais besoin de l'analyser avec ... enfant ("photo-url"). Cela a bien fonctionné, mais si je veux filtrer ces balises (photo-url), afin de recevoir toutes les photo-url avec le même attribut: "max-widht = '1280'", je n'ai pas réussi à le faire . J'ai essayé cette approche:

var photoUrl:XMLList = xml.posts.post.child("photo-url").(@max-width==1280); 

Je reçois cette erreur:

ReferenceError: Error #1065: Variable @max is not defined. 

Thx

Répondre

1

Je ne pense pas que vous pouvez le faire directement. Au lieu d'essayer d'utiliser pour .. chaque..in.

var photoUrls:XMLList = xml.posts.post.child("photo-url"); 
for each (var child in photoUrls) { 
    if (child.attribute("max_width") == "1280"); 
    trace(child); 
} 
.

0

Tout comme vous fixe la "photo-url" avec la fonction enfant(), vous devez également corrigez l'attribut max-width en utilisant .attribute ("max-width").

donc votre ligne ressemblerait à ceci:

var photoUrl:XMLList = xml.posts.post.child("photo-url").(attribute("max-width")==1280); 
Questions connexes