Изменение XML-документа, загруженного в память
Одной из мощных возможностей XML является способность предоставлять через линейную строку текстовых символов сложные, вложенные данные. При загрузке данных в объект XML ActionScript проводит синтаксический анализ данных и загружает в память их иерархическую структуру (или выводит ошибку периода исполнения, если XML-данные плохо сформированы). Операторы и методы объектов XML и XMLList упрощают задачу обработки структуры XML-данных. Используйте оператор точки (.) и оператор доступа к более низкому уровню (..) для получения доступа к свойствам дочернего элемента объекта XML. Используйте метод prependChild() или appendChild() для добавления свойства в начало или конец списка свойств объектов XML, как показано в следующем примере:
var x1: XML = < p> Line 1< /p> var x2: XML = < p> Line 2< /p> var x: XML = < body> < /body> x = x.appendChild(x1); x = x.appendChild(x2); x = x.prependChild(< p> Line 0< /p>); // x == < body> < p> Line 0< /p> < p> Line 1< /p> < p> Line 2< /p> < /body> Используйте метод insertChildBefore() или insertChildAfter() для добавления свойства перед или после определенного свойства, как показано далее: var x: XML = < body> < p> Paragraph 1< /p> < p> Paragraph 2< /p> < /body> var newNode: XML = < p> Paragraph 1.5< /p> x = x.insertChildAfter(x.p[0], newNode) x = x.insertChildBefore(x.p[2], < p> Paragraph 1.75< /p>) Как видно из следующего примера, для передачи данных по ссылке (из других переменных) при создании объектов XML можно также использовать операторы фигурных скобок ({ и }):
var ids: Array = [121, 122, 123]; var names: Array = [[" Murphy", " Pat" ], [" Thibaut", " Jean" ], [" Smith", " Vijay" ]] var x: XML = new XML(" < employeeList> < /employeeList> "); for (var i: int = 0; i < 3; i++) { var newnode: XML = new XML(); newnode = < employee id={ids[i]}> < last> {names[i][0]}< /last> < first> {names[i][1]}< /first> < /employee>; x = x.appendChild(newnode) } С помощью оператора = можно присвоить объекту XML свойства и атрибуты, как показано в примере ниже:
var x: XML = < employee> < lastname> Smith< /lastname> < /employee> x.firstname = " Jean"; x.@id = " 239"; Этим для объекта XML x задается следующее: < employee id=" 239" > < lastname> Smith< /lastname> < firstname> Jean< /firstname> < /employee> Для объединения объектов XMLList можно использовать операторы + и +=:
var x1: XML = < a> test1< /a> var x2: XML = < b> test2< /b> var xList: XMLList = x1 + x2; xList += < c> test3< /c>
Этим для объекта XMLList xList задается следующее:
< a> test1< /a> < b> test2< /b> < c> test3< /c>
|