-1

我的节点是:

<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。

请给我解决方案。

4

2 回答 2

0

您应该使用 XML 类来高效地使用 xml-nodes。

在这种情况下,您可以这样做:

<?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);
        }
于 2013-04-20T15:16:08.733 回答
0

xml.@[attrName] 不工作.... xml["@"+attrName];

于 2013-05-07T06:34:09.133 回答