0

我找到了问题发生的地方,但无法理解原因和纠正方法。

它可以在其他框架中使用,但差别不大: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=""/>

第一个跟踪和第三个跟踪在一些成功删除后给出相同的值:

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>

但是为什么会这样呢?

4

1 回答 1

1

截止日期的原因我不能花太多时间在它上面,并通过重新制作管理面板页面脚本绕过它。找到了更好的方法。

我正在尝试在新的干净文件上模拟该问题,但无法...

我认为解决方案应该是添加<![CDATA[]]>到 xmls 以防止对话。如果所有 XML-s 都保留相同的格式,则删除应该可以正常工作。

PS当文本转换为xml并保存时,cdata被转换为转义格式。用 cdata 保持 htmlText 格式的方法是:

someXML.someNode[i] = new XML('<test aaa="aaaa" bbb="bbbb" ccc="cccc"><![CDATA['+someTextField.htmlText+']]></test>')

不是这样:

someXML.someNode[i] = '<![CDATA['+someString+']]>'
于 2012-04-25T19:35:20.467 回答