2010-11-15 65 views
2

雖然我在解析傳入XML時沒有問題,但似乎無法構造有效的傳出xml。這是我的代碼:as3創建xml基本問題

myXML = 
    <INFO> 
    <imgname>testimage.jpg</imgname> 
    <totalCols>{totalCols}</totalCols> 
    </INFO>; 

//的XML到這一點痕跡所需的輸出,這是當我嘗試用追加for循環中出現的問題:

for (var i:Number = 0; i<totalCols; i++) 
    { 
    var tags:XML = 
    <tags> 
    <tagx> {tagDisplay[i].x} </tagx> 
    <tagy> {tagDisplay[i].y} </tagy> 
    <tagtext> {tagDisplay[i].tagTxt.text} </tagtext> 
    </tags>; 

    myXML.appendChild(tags); 
    } 

所需的輸出I想要的是:

<INFO> 
    <imgname>testimage.jpg</imgname> 
    <totalCols>7</totalCols> 
//for loop kicks in here: 
    <tags> 
    <tagx>100</tagx> 
    <tagy>100</tagy> 
    <tagtext>tag1</tagtext> 
    </tags> 
    <tags> 
    <tagx>120</tagx> 
    <tagy>120</tagy> 
    <tagtext>tag2</tagtext> 
    </tags> 
...etc for the total number in the for loop. 
    </INFO> 

真的很簡單我知道,但我的代碼似乎不適用於for循環包括!任何建議非常感謝。

+0

Bah,人們告訴你溝這個並使用字符串操作。別理他們。你的方式更好。 – 2010-11-15 10:19:08

回答

1

我看不到任何理由在這裏使用替換,簡單的任務很不錯,清晰:

for (var i:Number = 0; i < totalCols; i++) { 
    var tags:XML = <tags></tags>; 
    tags.tagx = tagDisplay[i].x; 
    tags.tagy = tagDisplay[i].y; 
    tags.tagtext = tagDisplay[i].tagTxt.text; 
    myXML.appendChild(tags); 
} 
+0

謝謝,這工作! – daxski 2010-11-15 18:19:52

1

我只是說此代碼到一個空FLA:

var totalCols:Number = 4; 
var tagDisplay:Array = [ 
    {x:0, y:0, tagTxt:{text:"stuff"}}, 
    {x:0, y:0, tagTxt:{text:"stuff"}}, 
    {x:0, y:0, tagTxt:{text:"stuff"}}, 
    {x:0, y:0, tagTxt:{text:"stuff"}} 
]; 

var myXML:XML = 
    <INFO> 
    <imgname>testimage.jpg</imgname> 
    <totalCols>{totalCols}</totalCols> 
    </INFO>; 

for (var i:Number = 0; i<totalCols; i++) 
{ 
    var tags:XML = 
    <tags> 
    <tagx> {tagDisplay[i].x} </tagx> 
    <tagy> {tagDisplay[i].y} </tagy> 
    <tagtext> {tagDisplay[i].tagTxt.text} </tagtext> 
    </tags>; 

    myXML.appendChild(tags); 
} 

trace(myXML); 

響應我得到是:

<INFO> 
    <imgname>testimage.jpg</imgname> 
    <totalCols>4</totalCols> 
    <tags> 
    <tagx>0</tagx> 
    <tagy>0</tagy> 
    <tagtext>stuff</tagtext> 
    </tags> 
    <tags> 
    <tagx>0</tagx> 
    <tagy>0</tagy> 
    <tagtext>stuff</tagtext> 
    </tags> 
    <tags> 
    <tagx>0</tagx> 
    <tagy>0</tagy> 
    <tagtext>stuff</tagtext> 
    </tags> 
    <tags> 
    <tagx>0</tagx> 
    <tagy>0</tagy> 
    <tagtext>stuff</tagtext> 
    </tags> 
</INFO> 

我認爲這正是你想要的,不是嗎?除了一些示例輸入之外,我沒有更改過您的代碼。

+0

好吧,這很有趣......它可能意味着我的變量沒有被正確初始化。我會看看歡呼聲。 – daxski 2010-11-15 13:52:05