2012-07-23 16 views
2

我有一個XML樹如下如何從XML樹使用ActionScript

<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等是在閃存添加的文本顯示。

回答

1

是的,你的想法是導致右移。但你應該先加載對象的XML文件。 您可以在項目中使用XML,如herehere

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); 

}