В более полном примере документ каталога, скорее всего, будет содержать несколько элементов. Для обращения к определенному столу нам придется использовать фильтрующий предикат, как показано в следующем коде:
catalog..table.(@id == 4875)..price
В листинге 18.15 приведен код, который можно использовать для обращения и отображения информации обо всех столах из каталога.
Листинг 18.15. Отображение всех столов из каталога
var shopNS:Namespace = catalog. namespaceCshop»); default xml namespace = shopNS: for each (var table:XML in catalog..table) { trace(table..desc + «: » + table..price):
}
Как и в случае с именами элементов и атрибутов, мы можем использовать групповой символ свойств (*) с пространствами имен. Например, следующий код возвращает объект XMLList, представляющий все элементы
во всех пространствах имен:
catalog..*::table
Чтобы получить всех потомков на всех уровнях иерархии во всех пространствах имен или за пределами пространства имен, применяется следующий код:
объектХМ1. .*::* // элементы объектХМ!.. .$*::* II атрибуты
Чтобы получить всех детей во всех пространствах имен или за пределами пространства имен, используется такой код:
объектХМ1 .*’: :* // элементы объектХМ!..®*::* II атрибуты
Создание элементов и атрибутов, уточняемых пространствами имен
Для создания элементов и атрибутов, которые уточняются пространствами имен, мы используем синтаксис обращения к уточненным именам, рассмотренный в предыдущем разделе, вместе с методиками создания элементов и атрибутов, описанными в разд. «Изменение или создание нового содержимого XML».
Перед созданием имен, уточняемых пространствами имен, мы должны создать (или получить) ссылку на объект Namespace. Например, следующий код создает два объекта Namespace и присваивает их переменным htmlNS и shopNS для дальнейшего использования в уточненных именах:
var htmlNS-.Namespace = new NamespaceC’html».
Оставить комментарий
Вы должны авторизоваться для отправки комментария.