XMLはフレックスでかっこいいですが、私が想像できる機能が原因で、解決するのが面倒な問題があります。ご覧のとおり、タグが1つしかない場合は、配列ではないオブジェクトが作成されます。ただし、複数が見つかった場合は、配列構造に配置されます。
エレガントに解決したいです。任意の推奨事項。
例:これは、HTTPリクエストの結果であるということを示しています。
private function initXMLRes(event:ResultEvent):void
{
var resObj:Object = event.result;
//
for each(var i:Object in resObj.specifictag)
{
// to use specifictag attributes, etc. example:
Alert.show(specifictag.name);
}
}
前のコードは2つ以上のアイテムで機能します。このxmlを受け入れます:
<specifictag name="one" /><specifictag name="two" />
...しかしこれではありません:
<specifictag name="one" />
resObj.specifictagの形式をチェックして(配列があるかどうかをチェックするため)、コードを複製することができます(それぞれの場合)。しかし、関数を呼び出しているとしても、それがエレガントなソリューションだとは思いません。
さて、誰かがこの問題について良い考えを持っていることを願っています。(経験から、SOにはflexよりもはるかに多くのC ++エキスパートがいることを知っていますが、まあ...)
完璧なのは、HTTPrequestがすべてのタグを一貫した方法で処理することです(常に配列を使用します...これにも欠点があると思いますが)。
ありがとう!