如何只找到XML文件的基本节点

时间:2015-08-18 07:58:54

标签: actionscript-3 flash actionscript

我有一个包含各种节点的xml文件,想要得到它的第一个节点,而不是子节点。这是我的代码:

function processXML(event:Event):void {
    menu_xml = new XML(event.target.data);
    trace (menu_xml.child("mainmenu"));
}

此代码不显示任何内容。我使用的是Flash Professional CC 2015.0。

编辑:以下是xml内容:

<?xml version="1.0"?> 
<mainmenu>

    <home/> 
    <portfolio/> 
    <contact/> 
    <friends>

        <joe/> 
        <karen/> 
        <bob/> 

    </friends>

</mainmenu>

编辑2:我只需要获得这些字符串:家庭,投资组合,联系人,朋友。

2 个答案:

答案 0 :(得分:2)

您的变量menu_xml是基本节点,通过调用您正在寻找XML的menu_xml.child("mainmenu")

<mainmenu>//menu_xml
    <mainmenu/>//menu_xml.child("mainmenu");
</mainmenu>

显然这不存在,函数返回一个空的XML记录。您的数据集:

<mainmenu>//menu_xml = new XML(event.target.data);

    <home/>//menu_xml.child("home"); 
    <portfolio/> //menu_xml.child("portfolio"); 
    <contact/> //menu_xml.child("contact"); 
    <friends>//menu_xml.child("friends"); 

        <joe/> //menu_xml.child("friends").child("joe"); 
        <karen/> //menu_xml.child("friends").child("karen"); 
        <bob/> //menu_xml.child("friends").child("bob"); 

    </friends>

</mainmenu>

编辑:要获取节点名称,您必须循环遍历XML对象结构,通过循环children()的结果,您将能够使用name()函数来获取名称每个孩子的根

for each (var node:XML in menu_xml.children())
{
    trace(node.name());
}

输出:

home
portfolio
contact
friends

有关在AS3中遍历XML结构的更多信息,我建议使用AS3 Documentation

答案 1 :(得分:0)

trace(“数据加载。”+ menu_xml);