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

How can I find only base nodes of an XML file

我有一个包含各种节点的 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: 我只需要获取这些字符串:家庭、投资组合、联系人、朋友。

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

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

显然这不存在,函数 returns 一个空的 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 object 结构,通过遍历 children() 的结果,您将能够使用name()函数获取根

的每个child的名称
for each (var node:XML in menu_xml.children())
{
    trace(node.name());
}

输出:

home
portfolio
contact
friends

有关在 AS3 中遍历 XML 结构的更多信息,我推荐 AS3 Documentation

追踪("Data loaded."+menu_xml);