我試圖更新XML結構的子節點中的值。新的值應該來自一個Input TextField,它的實例名稱與我應該更新的節點的屬性的值相同。替換AS3中的xml子節點值
例如,聚焦了文本字段名爲 「label10」 的時候,我應該編輯節點:
<label id="label10">
<eng>Description</eng>
<de>DE Description</de>
</label>
...這是很正常的,我實現它使用這個回調函數:
private function onFocusOut (evt:FocusEvent):void {
var nodeToModify:XML = xmlFillData.label.(@id==evt.target.name)[0];
trace ("nodeToModify is " +nodeToModify);
}
現在我的問題是我希望替換子節點eng或de的內容,這取決於一個名爲VarHolder的靜態類中定義的變量,但我無法做到這一點。
我試圖使用回調函數內這一行:
nodeToModify.replace (VarHolder.activeLang , evt.target.text);
但當時如果我跟蹤nodeToModify,這是結果(標籤消失)
<label id="label10">
rrr
<de>DE Description</de>
任何幫助?
編輯(和解決):試圖實現@jens答案。 這是我做的
nodeToModify.replace (VarHolder.activeLang, new XML("<" + VarHolder.activeLang + ">" + evt.target.text + "</" + VarHolder.activeLang + ">"));
THX @jens,我嘗試這個解決方案之前,張貼問題,我希望有另一種解決方案來做到這一點。順便說一句,我放棄了,因爲當我追蹤它時,我正在閱讀:<eng> rrr </eng >任何想法如何擺脫? –