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 );
}
今私の問題は、VarHolderと呼ばれる静的クラスで定義された変数に応じて、サブノードengまたはdeのコンテンツを置き換えたいのですが、それを行うことができません。
コールバック関数内でこの行を使用しようとしました:
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 + ">"));