Вход/Регистрация
JavaScript. Подробное руководство, 6-е издание
вернуться

Флэнаган Дэвид

Шрифт:

Расширение Е4Х представляет XML-документ (или элементы и атрибуты XML-документа) как объект XML, и представляет фрагменты XML (несколько элементов XML, не имеющих общего родителя) в виде родственного объекта XMLList. В этом разделе мы познакомимся с несколькими способами создания и обработки объектов XML. Объекты XML - это совершенно новый тип объектов, для работы с которыми в Е4Х предусмотрен (как мы увидим) специальный синтаксис. Как известно, для всех стандартных объектов JavaScript, не являющихся функциями, оператор

typeof
возвращает строку «
object
». Объекты XML, подобно функциям, отличаются от обычных объектов JavaScript, и для них оператор
typeof
возвращает строку "xml". Важно понимать, что объекты XML никак не связаны с объектами DOM (Document Object Model - объектная модель документа), которые используются в клиентском JavaScript (глава 15). Стандарт Е4Х определяет дополнительные средства для преобразования XML-документов и элементов между представлениями Е4Х и DOM, но броузер Firefox не реализует их. Это еще одна причина, почему расширение Е4Х лучше относить к серверным технологиям.

Этот раздел представляет собой краткое учебное руководство по расширению Е4Х и не должен рассматриваться как полноценное его описание. В частности, объекты XML и XMLList имеют множество методов, которые вообще не будут упоминаться здесь. Их описание также отсутствует в справочном разделе. Тем из вас, у кого появится желание использовать расширение Е4Х, за более полной информацией необходимо обращаться к официальной спецификации.

Расширение Е4Х определяет совсем немного новых синтаксических конструкций. Самая заметная часть нового синтаксиса заключается в возможности использования разметки XML непосредственно в программном коде JavaScript и включения в него литералов XML, как показано ниже:

// Создать объект XML

var pt = <periodictable>

<element іd="1"><name>Водород</name></еlеment>

<element іd="2"><name>Гелий</name></еlement>

<element id="3"><name>/Литий</name></element>

</periodictable>;

// Добавить новый элемент в таблицу

pt.element += <element іd="4"><name>Бериллий</name></element;

Синтаксис литералов XML в расширении Е4Х в качестве экранирующих символов использует угловые скобки, что позволяет помещать в разметку XML произвольные выражения на языке JavaScript. Ниже демонстрируется еще один способ создания точно такого же элемента XML, как в примере выше:

pt = <periodictable></periodictable>; // Создать пустую таблицу

var elements = ["Водород", "Гелий", "Литий"]; // Добавить элементы

// Создать теги XML, используя содержимое массива

for(var n = 0; n < elements.length; n++) {

pt.element += <element id={n+1}><name>{elements[n]}</name></element>;

}

В дополнение к синтаксису литералов можно также извлекать данные из строк с разметкой XML. Следующий пример добавляет в периодическую таблицу еще один элемент:

pt.element += new XML('<element id="5"><name>Бop</name></element>');

При работе с фрагментами XML вместо конструктора

XML
используется конструктор
XMLList:

pt.element += new XMLList( <element id="6"><name>Углерод</namex/element>' +

' <element id="7"xname>Азот</name></element>');

После создания XML-документа для доступа к его содержимому можно использовать интуитивно понятный синтаксис Е4Х:

var elements = pt.element; // Вернет список всех тегов <element>

var names = pt.element.name; // Список всех тегов <name>

var n = names[0]; // "Водород": содержимое тега <name> с номером 0.

Кроме того, расширение Е4Х добавляет новый синтаксис для работы с объектами XML. Оператор ..
– это оператор доступа к вложенным элементам. Его можно использовать вместо привычного оператора . доступа к членам:

// Другой способ получить список всех тегов <name>

  • Читать дальше
  • 1
  • ...
  • 180
  • 181
  • 182
  • 183
  • 184
  • 185
  • 186
  • 187
  • 188
  • 189
  • 190
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: