Я столкнулся с проблемой сохранения данных из класса Adobe Flash AS3 в XML-файл. Проблема в том, что я теряю некоторые скобки (<>) при сохранении. Файл заканчивается так:Loosing brackets при сохранении AS3 в XML
<UserData>
<User>
John
18
100
</User>
<User>
Olav
16
10
</User>
</UseData>
Вместо этого (это то, как это должно быть):
<UserData>
<User>
<Name>John</Name>
<Age>18</Age>
<Balance>100</Balance>
</User>
<User>
<Name>Olav</Name>
<Age>16</Age>
<Balance>10</Balance>
</User>
</UserData>
В моей программе у меня есть два класса, где вторичный класс содержит информацию о каждом пользователя (имя, возраст и баланс). Основной класс содержит массив, который содержит всех пользователей.
Функция, которая сохраняет данные:
function saveData(e:Event):void
{
var fileRef:FileReference=new FileReference()
var userData:XML=new XML(<UserData/>)
for(var i:int=0;i<userArr.length;i++) //userArr is the array holding all the users
{
var user:XML=new XML(<User/>)
var name:XML=new XML(<Name/>)
var age:XML=new XML(<Age/>)
var balance:XML=new XML(<Balance/>)
name=XML(userArr[i].name) //the userArr holds a class with the variables name, age and balance.
age=XML(userArr[i].age)
balance=XML(userArr[i].balance)
//I'm pretty sure that its here it goes wrong.
//fore some reason when I appendChild the user, it gets <> but when I
//appendChild name, age and balance it does not get a <>.
user.appendChild(name)
user.appendChild(age)
user.appendChild(balance)
userData.appendChild(user)
}
fileRef.save(userData,"Data.xml")
}
Самое странное в том, что это используется для работы (я думаю). Я использовал его несколько месяцев назад (в cs4), и это сработало. Но теперь он больше не работает (в cs6).
Nb: Я перевел свой код с норвежского на английский. Поэтому, если я случайно что-то ошибся, это, вероятно, не в коде.
спасибо.
Это имеет большой смысл! Спасибо! – Kartoffel