Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何让Flex从XML数据创建一个元素数组?_Xml_Apache Flex_Actionscript 3 - Fatal编程技术网

如何让Flex从XML数据创建一个元素数组?

如何让Flex从XML数据创建一个元素数组?,xml,apache-flex,actionscript-3,Xml,Apache Flex,Actionscript 3,我通过HttpService在Flex中检索XML数据。我将HttpService实例上的resultFormat属性设置为HttpService.RESULT\u FORMAT\u OBJECT。结果包含与此类似的数据: <!-- ... --> <children> <item><!-- ... --></item> <item><!-- ... --></item> <!--

我通过HttpService在Flex中检索XML数据。我将HttpService实例上的
resultFormat
属性设置为
HttpService.RESULT\u FORMAT\u OBJECT
。结果包含与此类似的数据:

<!-- ... -->
<children>
  <item><!-- ... --></item>
  <item><!-- ... --></item>
  <!-- ... -->
<children>
<!-- ... -->

当有多个
item
同级项时,我会在元素子项下获得一个名为item的数组。如果只有一个,则转换无法将其与标量区分开来

要让Flex将所有
item
元素转换为包含0个或更多元素的数组,我需要做哪些更改

要获得数组成员
子对象
,完全删除
包装,我需要做什么


XML由服务器端的Struts生成。我总是可以选择在那里更改文档的结构,但现在我感兴趣的是如何使用Flex。

无论有一个条目还是多个条目,
对象都应该是一个
XMLList
。(如果没有,它将是未定义的。)

如果只有一个元素,可以对其使用
XML
方法,但这只是为了方便。看

我还推荐Mike Morearty对此发表评论5(缓存版本,因为网站似乎无法访问)。

尝试以下方法:

try {
    for (var i:int = 0; /* loop forever till error is thrown */; i++) {
        var j:String = String( children.item[ i ].SomeOtherAttribute ); // if its a string
    }
} catch (re:RangeError) {
}

我不明白。那代码应该做什么?此外,请允许我对似乎有点滥用例外的做法表示不满。(如果我可以做item[I],那么肯定有item.length用于循环条件,不是吗?)我在构建原型时遇到了这个问题。长度属性不存在。几分钟后,我想到了这个解决方案,效果很好。我从来没有说过“这是一个完美的解决方案”,只是“试试这个”。我需要尽快解决这个问题。我不能这么做,先问一个问题,然后等待回答。因此,我使用了对我有用的东西。如果原型可以工作&人们喜欢它,那么我可以考虑让它做好生产准备,然后我可以用更好的东西来替换这段代码。在那之前,我认为没有必要担心纯度。这个链接很好。那么,最基本的方法就是使用e4x结果,对吗?