2

我有一个如下的 xml 树

<Response>
<Terminal>
<Name>m1</Name>
<Value><Array1><DBL><Val>-0.143077</Val></DBL></Array1></Value>
</Terminal>
<Terminal>
<Name>m3</Name>
<Value><Array3><DBL><Val>-0.876611</Val></DBL></Array3></Value>
</Terminal>
<Terminal>
<Name>m2</Name>
<Value><Array2><DBL><Val>-0.459437</Val></DBL></Array2></Value>
</Terminal>
</Response>

我必须使用动作脚本提取 m1、m2、m3 值

谁能帮我写这段代码。

下面的代码是否足够

for (var i=0; i<xml.Terminal.length(); i++) {

     if (xml.Terminal.Name.text()=="m1") {

                       voltage=xml.Terminal.Value.Array1.DBL.Val.text()
                              }
     else if (xml.Terminal[i].Name.text()=="m2") {

                      current=xml.Terminal.Value.Array2.DBL.Val.text();

                              }
     else if (xml.Terminal[i].Name.text()=="m3") {

                       temperature=xml.Terminal.Value.Array3.DBL.Val.text();

                            }
        }

        Menu_Content1.volt_val.text = voltage;
    Menu_Content1.curr_val.text = current;
    Menu_Content1.temp_val.text = temperature;
)

volt_val.text 等用于在 flash 中添加的文本显示。

4

2 回答 2

2

要解析 XML 中的常见格式化标签,您必须首先将它们放入父标签中,在您的情况下创建这样的 XML

<Response>
<**PARENT_TAG**>
<Terminal>
<Name>m1</Name>
<Value><Array1><DBL><Val>-0.143077</Val></DBL></Array1></Value>
</Terminal>
<Terminal>
<Name>m3</Name>
<Value><Array3><DBL><Val>-0.876611</Val></DBL></Array3></Value>
</Terminal>
<Terminal>
<Name>m2</Name>
<Value><Array2><DBL><Val>-0.459437</Val></DBL></Array2></Value>
</Terminal>
</**PARENT_TAG**>
</Response>

在 actionscript 中解析 XML 之后非常容易,您只需创建 XML 的对象,然后使用 DOM 格式获取特定标签的值作为示例

var result:XML = new XML(event.target.data);

for(var i:int=0; i<result.PARENT_TAG.length; i++)
{
   trace(result.PARENT_TAG.Terminal[i].Name);

}
于 2013-06-05T13:02:24.110 回答
1

是的,你的想法是正确的。但你应该首先在对象中加载 xml 文件。您可以在项目中使用此处此处的 XML 。

于 2013-01-17T08:01:35.783 回答