Опубликован: 24.01.2007 | Доступ: свободный | Студентов: 9132 / 1440 | Оценка: 4.28 / 4.09 | Длительность: 20:51:00
Лекция 9:

Отображение XML-документов с использованием сценариев объектной модели документа

Таблица 9.3. Полезные свойства и методы, предоставляемые узлами Document. Общие свойства приведены в таблице 9.2
Свойство узла Document Описание Пример
doctype Узел DocumentType, представляющий объявление типа документа DocumentType = Document.doctype;
documentElement Узел Element, представляющий корневой элемент RootElement = Document.documentElement;
ondataavailable Если вы присвоите этому свойству имя функции, которую вы написали, функция будет вызываться в момент доступности данных XML Document.ondataavailable = MyDataAvailableHandler; (Функция MyDataAvailableHandler будет вызываться, когда станут доступными данные XML)
onreadystatechange Если вы присвоите этому свойству имя функции, которую вы написали, функция будет вызываться всякий раз, когда изменяется свойство readyState узла Document. (Об этом свойстве см. далее в этой таблице) Document.onreadystatechange = MyReadyStateHandler; (Функция MyReadyStateHandler будет вызываться всякий раз при изменении свойства readyState узла Document )
parseError Объект, который содержит информацию о любых ошибках, которые возникают в процессе обработки документа ErrorCode = Document.parseError.errorCode;
readyState Текущий статус загрузки и обработки XML-документа. Может принимать одно из следующих числовых значений:

0: не инициализирован

1: загружается

2: загружен

3: интерактивный режим

4: завершение

if (Document.readyState == 4) /* обработка данных… */
url URL XML-документа URL = Document.url;
getElementsByTagName(type-name) Возвращает множество NodeList всех элементов в документе, которые имеют заданное имя типа. Если указано "*", возвращает все элементы AuthorElementCollection = Document.getElementsByTagName("AUTHOR");
nodeFromID(id-value) Возвращает узел, представляющий элемент, чей атрибут типа ID имеет указанное значение. (Подробнее об атрибутах ID см. раздел "Задание маркерного типа" в "Создание валидных XML-документов" ) Element = Document.nodeFromID("S021");

Символьные данные элемента TITLE, которые получены из выражения справа от знака равенства ("The Adventures of Huckleberry Finn") присваиваются свойству innerText HTML-элемента SPAN, имеющему идентификатор title:

title.innerText=
  Document.documentElement.childNodes(0).text;

Этот элемент SPAN определен внутри элемента BODY HTML-страницы следующим образом:

<SPAN ID="title" STYLE="font-weight:bold"></SPAN>

Присвоение символьных данных свойству innerText элемента SPAN приводит к тому, что элемент SPAN отображает текст с использованием формата, определенного в его начальном теге ( font-weight:bold ).

Подсказка. В Dynamic HTML (DHTML), который поддерживает Internet Explorer 5, каждый HTML-элемент имеет набор свойств, которые вы можете использовать для установки или получения различных характеристик элемента через код сценария. Свойство innerText устанавливает или получает текстовое содержимое элемента. Подробную информацию о работе с HTML и DHTML в Internet Explorer 5 вы можете найти на Web-сайте, предоставленном MSDN: http://msdn.microsoft.com/workshop/author/default.asp.

Использование объекта NodeList

Свойство childNodes узла содержит набор дочерних узлов текущего узла, не являющихся атрибутами. (Доступ к дочерним узлам-атрибутам осуществляется через свойство attributes узла.) Определенный тип набора, который содержит свойство childNodes, носит название объекта NodeList.

Чтобы извлечь определенный дочерний узел из объекта NodeList, вы можете обратиться к его методу item, указав при этом индекс дочернего узла, который вы хотите получить (индексы отсчитываются с нуля). Например, обращение к следующему методу позволяет получить первый дочерний узел, принадлежащий узлу Element:

FirstNode = Element.childNodes.item(0);

Однако, поскольку item является методом по умолчанию объекта NodeList, вы можете опустить его, как это делалось в предыдущих примерах в этой лекции:

FirstNode = Element.childNodes(0);

В таблице 9.4 представлены свойства и методы, предоставляемые объектом NodeList.

Таблица 9.4. Свойство и методы, поддерживаемые групповым объектом NodeList. Доступ к объекту NodeList осуществляется через свойство childNodes узла
Свойство NodeList Описание Пример
length Количество узлов, содержащихся в наборе NodeCount = Element.childNodes.length;
Метод NodeList Описание Пример
item (индекс, отсчитываемый с 0) (метод по умолчанию) Возвращает узел в соответствии с заданным вами индексом, при этом 0 соответствует первому узлу SecondChild = Element.childNodes.item(1); или SecondChild = Element.childNodes(1);
reset() Устанавливает внутренний указатель на позицию перед первым узлом в наборе, чтобы последующий вызов nextNode возвращал первый узел Element.childNodes.reset();
nextNode() Возвращает следующий узел в наборе в соответствии с позицией внутреннего указателя Element.childNodes.reset(); FirstNode = Element.childNodes.nextNode();
Максим Попов
Максим Попов

Почему при использовании скриптов, приведенных в курсе Основы XML

лекция Лекция 8: 

Отображение XML-документов с использованием связывания данных

не происходит связывания XLM документа с HTML?

Отображаются пустые поля. Браузер IE11

Владислав Нагорный
Владислав Нагорный

Подскажите, пожалуйста, планируете ли вы возобновление программ высшего образования? Если да, есть ли какие-то примерные сроки?

Спасибо!

Виталий Железняков
Виталий Железняков
Россия, Липецк