【发布时间】:2012-06-18 23:58:05
【问题描述】:
我正在尝试更新 xml 文件和 save 元素 inside 已保存的根元素。
我只找到了 xml 文件刚刚打开而不保存的示例。有人可以帮我找到保存结果的最佳方法吗?
我现在的项目是这样的:
我正在通过 URLLoader/URLRequest 加载一个 xml 文件,并在几个文本字段中显示内容。来自输入字段的新文本通过 FileStream 直接保存(附加)到 applicationStorageDirectory 中的 xml 文件(将在 iPhone 上)。
然后应该将新输入添加到屏幕列表(使用 for 循环创建)并显示出来,但是,它不能做到那么远。从 xml 文件中读取新保存的输入后,我自然会收到错误 1088,因为 xml 文件格式不再正确。
这是因为输入附加在根元素之后,结果如下所示:
<root>
<message></message>
<date></date>
</root>
<message>new input</message>
<date></date>
当然,我想要的是这样的:
<root>
<message></message>
<date></date>
<message>new input</message>
<date></date>
</root>
但我不知道如何才能做到这一点。
我做了几次尝试来避免附加,比如加载 xml 内容,更改它,然后重新编写所有内容。但由于我还是 as3 的新手,我无法让它工作。
如果有人能告诉我最好的方法是什么以及如何解决它,那就太好了。
【问题讨论】:
-
实际上我自己也做过几次,当您克服任何小的技术障碍时,唯一的主要问题是处理适当的类型转换。与我一起工作的一个家伙实际上为 AS3 对象编写了一个强大的 XML 读取器/写入器,但由于它是在工作时间完成的,我认为我们不允许提供该源(肯定至少必须与他核实。我'我已经亲自完成了你所说的两种方法,即加载 XML 然后替换部分,或者只是生成所有 XML。我认为后者是一个更好的选择。
-
我将看看我是否可以从头开始尝试这个(至少 AS3 到 XML,反之可能需要一些时间),因为它对项目很有用我现在也在努力,这样我就可以发布源代码了。
标签: xml actionscript-3 flash actionscript filestream