如何从Flex 4.5中的XML节点检索值

时间:2013-04-19 11:59:21

标签: actionscript-3 flex flex4.5

我的节点是:

<node Dep_MandMARA_SATNR="H_H_H" Dep_MandMARCSTDPD="H_H_H" MARA_SATNR="" MARCSTDPD="" MATL_GROUP="001" MATL_TYPE="ZCNI" rendReq="no" sno=""/>

它存储在item:Object

我必须从中检索MATL_GROUP。

请给我解决方案。

2 个答案:

答案 0 :(得分:0)

您应该使用XML类来有效地使用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:Script>
    <![CDATA[
        import mx.controls.Alert;

        private var xml:XML = new XML(
            <node Dep_MandMARA_SATNR="H_H_H" Dep_MandMARCSTDPD="H_H_H" MARA_SATNR="" MARCSTDPD="" MATL_GROUP="001" MATL_TYPE="ZCNI" rendReq="no" sno="513314681"/>
        );

        protected function init():void
        {
            var matlGroup:String = xml.@MATL_GROUP;
            Alert.show(matlGroup);
        }

    ]]>
</fx:Script>
</s:Application>

如果您希望能够动态使用任何属性名称,请执行以下操作:

        protected function init():void
        {
            var attrName:String = "MATL_TYPE";
            var matlGroup:String = xml.@[attrName];
            Alert.show(matlGroup);
        }

答案 1 :(得分:0)

xml。@ [attrName]无效.... xml [“@”+ attrName];