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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.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_Root - Fatal编程技术网

在flex中使用XML

在flex中使用XML,xml,apache-flex,root,Xml,Apache Flex,Root,我正在使用这样的分层xml结构: <employee name="AAA" group="1"..../> <employee name="BBB" group="1"...> <employee name="CCC" group="1".../> </employee> <employee name="DDD" group="0"... /> <employee name="

我正在使用这样的分层xml结构:

<employee name="AAA" group="1"..../>
    <employee name="BBB" group="1"...>
        <employee name="CCC" group="1".../>
     </employee>  
    <employee name="DDD" group="0"... />
    <employee name="EEE" group="0"... />
</employee>

首先,我需要统计所有员工节点(包括根节点)。一定是:5。 我尝试过使用xml..employee.length(),但它返回4(不包括根节点“AAA”) 如果我尝试xml.employee.length()只返回1

然后,我必须创建一个带有特定搜索的XMList。例如,属性为group=“1”的所有节点

同样的问题也会出现,我使用:hitList:xmlsist=xml..employee.(@group==“1”)并返回正确的结果,但它不计算根节点的数量(在这种情况下,必须包括它)

如何执行此操作(包括根节点)

提前谢谢


Cristian

问题在于XML变量与根XML标记相同。如果你是莱特

xml..employee.length()
这意味着您要分析根节点下的所有节点。变量xml是您的根节点

要获得正确的结果,需要在结构中添加一个空的虚拟根节点

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
           xmlns:s="library://ns.adobe.com/flex/spark" 
           xmlns:mx="library://ns.adobe.com/flex/mx" 
           minWidth="955" minHeight="600" creationComplete="init()">
<fx:Declarations>
    <fx:XML id="xml" xmlns="">
        <root>
            <employee name="AAA" group="1">
                <employee name="BBB" group="1">
                    <employee name="CCC" group="1"/>
                </employee>  
                <employee name="DDD" group="0"/>
                <employee name="EEE" group="0"/>
            </employee>
        </root>
    </fx:XML>
</fx:Declarations>

<fx:Script>
    <![CDATA[
        private function init():void
        {
            var len:int = xml..employee.length(); //gives 5
            var hitList:XMLList = xml..employee.(@group == "1"); //gives 3 nodes

            trace();
        }
    ]]>
</fx:Script>

</s:Application>


第一个标记似乎不正确。它不应该以“/”结束,谢谢安东,我可以按照你的建议修复它。