循环遍历复杂的xml节点actionscript

时间:2014-07-08 13:07:56

标签: actionscript-3 as3xls

我正在阅读actionscript中的xml文件。

我需要遍历名为" entry"的每个节点。如下图所示: -

任何人都可以帮助我吗?

enter image description here

我正在尝试下面的代码。但它不起作用: -

var categoryList:XMLList = x.feed.@entry;

                for each(var category:XML in categoryList)
                {
                    trace(category.@name);

                    for each(var item:XML in category.item)
                    {
                        trace("  "+item.@name +": "+ item);
                    }
                }

"条目"节点也有一些内部节点,我也想读取那些节点。

由于

3 个答案:

答案 0 :(得分:4)

此XML使用名称空间http://www.w3.org/2005/Atom,因此您必须考虑到这一点:

var n:Namespace = new Namespace("http://www.w3.org/2005/Atom");
var categoryList:XMLList = x.n::entry;

<强>更新 要访问子节点,您需要继续使用命名空间

for each(var category:XML in categoryList)
{
    // this traces the name of the author
    trace(category.n::author.n::name.toString());
}

答案 1 :(得分:2)

更好的是:

var n:Namespace = new Namespace("http://www.w3.org/2005/Atom");
default xml namespace = n;
var categoryList:XMLList = x.entry;//no namespace type access
//etc
default xml namespace = null;

答案 2 :(得分:1)

categoryList的声明更改为:

var categoryList:XMLList = x.entry;

现在应该遍历entry个节点。