AS3 - 最深的XML元素

时间:2010-09-10 19:15:22

标签: xml actionscript-3

我正在构建一个XML编辑器,并且在解析传入的XML文件时遇到了一些麻烦。

目前我只能解析一定深度的XML元素,我想知道如何获得最深的XML元素,因为目前我有一系列循环遍历xmlElem.children()的每个循环但这只允许我解析到一定深度,所以它相当有限。

任何帮助表示赞赏!

干杯, 哈利。

3 个答案:

答案 0 :(得分:2)

听起来像递归http://en.wikipedia.org/wiki/Recursion_%28computer_science%29

的工作

此函数将遍历整个XML结构,无论其大小/深度如何。

function parseChildren(parent:XML):void {
    for each(child:XML in parent.children()) {
        //do whaterver...

        if(child.children().length() > 0) {
             parseChildren(child);
        {
    }
}

答案 1 :(得分:0)

您还可以使用以下SimpleXML类从Flex AS3转换为Flash的AS3。您可以在此处找到它:Author website或直接从此处下载:SimpleXML source

我发现这个类在访问XML时非常有用。

答案 2 :(得分:0)

这可能是您正在寻找的:

var _xml:XML;
for each(var _element:XML in _xml.descendants())
{
   trace(_element);
}

虽然这个循环只是一个例子,但是“descendants()”函数返回子,孙子,曾孙等等,解析你的XML对象并查看所有元素,无论大小和深度如何