Простая задача:
Первый, загрузите внешний XML. Ради примера, давайте представим себе XML быть этой структуры:
<contactData>
<contact firstName="John" lastName="Smith" phone="285-493-5421-793" email="[email protected]"/>
<contact firstName="Jane" lastName="Roberts" phone="285-493-5421-214" email="[email protected]"/>
</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
}
}
Loop через XML - для каждого узла contact
создать объект класса КонтактныеДанного и заполнить его данные из XML. Храните массив с вашими объектами ContactData где-нибудь, и они понадобятся вам позже.
Третий, отредактируйте объект ContactData или удалите его из массива, если хотите. Добавление тоже не является проблемой.
Четвертой и, наконец, создать новый XML с AS3 и петлей через массив объектов КонтактныеДанного добавить 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][email protected] = cd.firstName;
xml.contact[i][email protected] = cd.lastName;
xml.contact[i][email protected] = cd.phone;
xml.contact[i][email protected] = cd.email;
}
Я надеюсь, что это полезно и легко понять. Удачи!
Вы можете разобрать XML в экземпляр 'XML' и напрямую изменить этот экземпляр, добавив свойства, а затем вытащите еще одну строку из отредактированного объекта XML. – Vesper
@Vesper, я знаю, но я предпочитаю этот метод по прямому редактированию XML - по-моему, он будет поддерживать масштабируемость программы. Также, если вы хотите показать данные на экране, проще использовать мой подход и позволить вашей среде IDE показать, какие переменные доступны. Помимо того, что у этой дополнительной мощности есть функции для форматирования ввода (например, сеттеры/приемники) и т. Д. Короче - ООП лучше imo. –
Явно объявленные объекты классов/значений будут работать лучше в большем масштабе, чем редактирование динамических классов, таких как класс XML, на лету. В качестве дополнительной заметки вышеупомянутый узел XML может быть свернут в одной строке: 'xml.appendChild ( ); '(также в телефоне xample и электронной почте поменяются местами, но это всего лишь пример;)) –