XML 在 flex 中很酷,但我有一个烦人的问题要解决,这是由我可以想象的一个特性引起的。你看,当你只有一个标签时,它会创建一个不是数组的对象。但是当找到多个时,它会将其放在一个数组结构中。
我想优雅地解决它。任何建议。
示例:这说明了它,是 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 以一致的方式处理每个标签(总是使用数组......虽然我猜这也会有它的缺点)。
谢谢!