我有一个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中添加文本显示。
答案 0 :(得分: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);
}
答案 1 :(得分:1)