任何人都可以向我展示一些如何从ActionScript 3中修改和更新外部XML文件的简单指南。我已经查了很长时间了,但还没找到我能够理解的教程。我的目标是创建一个真正基本的数据库..让我们说一个联系人数据库..我想通过xml文件加载这些联系人。但我也希望能够添加新的联系人并修改现有的联系人。我该怎么做?
我想在桌面AIR应用程序中使用它。
答案 0 :(得分:2)
一项简单的任务:
首先,加载外部XML。为了举个例子,我们假设XML具有这种结构:
<contactData>
<contact firstName="John" lastName="Smith" phone="285-493-5421-793" email="example@mail.com"/>
<contact firstName="Jane" lastName="Roberts" phone="285-493-5421-214" email="example@gmail.com"/>
</contactData>
第二次,解析该XML。为此创建一个类的值对象类型,让我们称之为ContactData。它可能看起来像这样:
package
{
public class ContactData
{
public var firstName:String;
public var lastName:String;
public var email:String;
public var phone:String;
public var id:int; // always nice to store an ID
}
}
遍历XML - 为每个contact
节点创建一个ContactData类对象,并从XML中填充数据。
将您的ContactData对象存储在某个数组中,稍后您将需要它们。
第三次,编辑ContactData对象,或者甚至将其从数组中删除。添加也不是问题。
第四,最后,使用AS3创建一个新的xml并循环遍历ContactData对象数组以添加contact
个节点,然后保存XML。使用File和FileStream类将文件保存在硬盘驱动器或URLLoader上,以将其传递给服务器。
这是原始XML创建代码的样子:
var xml:XML = <contactData></contactData>;
for (var i:int = 0; i < contactDataArray.length; i++)
{
var cd:ContactData = contactDataArray[i];
xml.appendChild(<contact></contact>);
xml.contact[i].@firstName = cd.firstName;
xml.contact[i].@lastName = cd.lastName;
xml.contact[i].@phone = cd.phone;
xml.contact[i].@email = cd.email;
}
我希望它有用且易于理解。祝你好运!