【问题标题】:Delete someXml.xmlNode[numb] fails after some successful delete成功删除后删除 someXml.xmlNode[numb] 失败
【发布时间】:2012-04-22 19:57:08
【问题描述】:

我找到了问题所在,但无法理解原因和纠正方法。

它适用于其他框架,但差别不大: 成功删除后无法删除的 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();

}

可能是&lt;/work&gt; 的原因,但在其他测试文件中它会删除类似的xml 节点。 如果我在没有&lt;/work&gt; 的情况下生成 xml,则删除会正常工作。

有什么想法吗? 希望有人能帮忙。

更新!

我想我找到了原因。

Flash 自动转换

<work name="New Work Title 14" img="" logo="" link="" image=""></work>

<work name="New Work Title 14" img="" logo="" link="" image="" />

此删除后不会删除节点。

我加了&lt;![CDATA[]]&gt;

<work name="New Work Title 14" img="" logo="" link="" image=""><![CDATA[]]></work>

但是为什么会这样呢?

【问题讨论】:

  • 你能解决这个问题吗?你正在做什么或要求什么是非常令人困惑的。此外,XML 中有多少项——也许提供 XML 的完整示例?
  • 因为没有内容的节点在 Flash 中似乎显示为 null,即使当它是 XMLList 的一部分或父 XML 节点的子节点时您可以获得它的属性。
  • 请将您的解决方案写成答案并接受。
  • 感谢您的帮助,并对我迟到的答复表示歉意。 iND xml 是动态更改的。这是一个管理面板项目,我正在添加一个删除节点以通过我为它制作的按钮进行测试。

标签: xml actionscript-3 flash


【解决方案1】:

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

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

我认为解决方案应该是在 xmls 中添加&lt;![CDATA[]]&gt; 以防止对话。如果所有的 XML-s 都保持相同的格式,删除应该可以正常工作。

附: 当文本转换为 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+']]>'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-10-19
    • 1970-01-01
    • 1970-01-01
    • 2021-08-09
    • 1970-01-01
    • 2015-01-29
    • 2017-08-07
    • 1970-01-01
    相关资源
    最近更新 更多