ActionScript3: фильтрация xml-атрибутов, содержащих тире? - PullRequest
1 голос
/ 22 декабря 2009

В атрибутах xml есть черточки, и я не знаю, как их фильтровать: Здесь вы можете увидеть простой пример xml:

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

Поскольку у тега photo-url также есть тире, мне нужно было проанализировать его с… child («photo-url»). Это работало нормально, но если я хочу отфильтровать эти теги (photo-url), чтобы получить все photo-url с одинаковым атрибутом: "max-widht = '1280'", мне не удалось это сделать. Я попробовал этот подход:

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

Я получаю эту ошибку:

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

Thx

Ответы [ 2 ]

1 голос
/ 22 декабря 2009

Я не думаю, что вы можете сделать это напрямую. вместо того, чтобы пытаться использовать for..each..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 голосов
/ 22 декабря 2009

Так же, как вы исправили «photo-url» с помощью функции child (), вы также должны исправить атрибут max-width с помощью .attribute («max-width»).

Итак, ваша строка будет выглядеть так:

var photoUrl:XMLList = xml.posts.post.child("photo-url").(attribute("max-width")==1280);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...