数组控件 XML delievy AS3

Array controls XML delievy AS3

所以,假设我在 Flash 上有一个数组,类似于:

var myArray:Array = [option2, option3]

并且假设我有一个 XML 文件是这样的:

<easFormat>
    <option1>
         <easimg>img01.jpg</easimg>
         <easName>Carro 01</easName>
         <easPrice>250.000</easPrice>
    </option1>
    <option2>
         <easimg>img02.jpg</easimg>
         <easName>Carro 02</easName>
         <easPrice>180.000</easPrice>
    </option2>
    <option3>
         <easimg>img03.jpg</easimg>
         <easName>Carro 03</easName>
         <easPrice>80.000</easPrice>
    </option3>
    <option4>
         <easimg>img04.jpg</easimg>
         <easName>Carro 04</easName>
         <easPrice>150.000</easPrice>
    </option4>
</easFormat>

我的 XML 已经正确加载。 现在我只想显示我的 XML 中与数组值匹配的节点(选项 2 和 3)。你们能帮我理清这样做的逻辑吗?

非常感谢!

首先你应该改变 xml 结构如下

<easFormat>
    <option>
         <easimg>img01.jpg</easimg>
         <easName>Carro 01</easName>
         <easPrice>250.000</easPrice>
    </option>
    <option>
         <easimg>img02.jpg</easimg>
         <easName>Carro 02</easName>
         <easPrice>180.000</easPrice>
    </option>
    <option>
         <easimg>img03.jpg</easimg>
         <easName>Carro 03</easName>
         <easPrice>80.000</easPrice>
    </option>
    <option>
         <easimg>img04.jpg</easimg>
         <easName>Carro 04</easName>
         <easPrice>150.000</easPrice>
    </option>
</easFormat>

并假设您的搜索选项是

var options:Array = ["Carro 01", "Carro 04"];

现在是onloaded的代码xml

var _xml:XML = XML(e.target.data);
    for(var i:uint = 0; i < _xml.option.length(); i++){
        easNames.push(_xml.option[i].easName);
    }

正在检查 easNames 数组中的选项。

function matchTest():void{
    for(var i:uint = 0; i < options.length; i++){
        for(var j:uint = 0; j < easNames.length; j++){
            if(easNames[j] == options[i]){
                trace(j);
            }
        }
    }
}