問題の発生箇所は特定できましたが、原因と修正方法がわかりません。
他のフレームでも機能しますが、ほとんど違いはありません: XML は、いくつかの削除が成功した後に削除できません:
<work name="New Work Title 14" img="" logo="" link="" image=""></work>
<work name="New Work Title 15" img="" logo="" link="" image=""></work>
.... etc
同じスクリプトが機能するフレームからの XML:
<person name="New Object Name 8" poz="" mail="" thumb="" img=""/>
最初のトレースと 3 番目のトレースでは、いくつかの削除が成功した後、同じ値が得られます。
function deleteWork(){
trace(siteDataXML[Work_Node].length()) // freezes on ~10
trace(delete siteDataXML[Work_Node][Work_List.selectedIndex]) //always true
trace(siteDataXML[Work_Node].length()) // freezes on ~10
Work_DP.removeItemAt(Work_List.selectedIndex); //
trace("dp ", Work_DP.length) // decreases as it should
debug("Data Deleted. Autosaving...")
Work_Save();
}
理由として考え</work>
られるのは、他のテスト ファイルで同様の xml ノードを削除することです。</work>
削除せずにxmlを生成すると、正常に機能します。
何か案が?誰かが助けてくれることを願っています。
アップデート!
理由が分かった気がします。
Flash は自動的に変換します
<work name="New Work Title 14" img="" logo="" link="" image=""></work>
に
<work name="New Work Title 14" img="" logo="" link="" image="" />
この削除の後、ノードは削除されません。
追加しました<![CDATA[]]>
:
<work name="New Work Title 14" img="" logo="" link="" image=""><![CDATA[]]></work>
しかし、なぜこれが起こるのですか?