Учебник по XML

XML ГЛАВНАЯ Введение в XML XML Как использовать XML-дерево Синтаксис XML XML-элементы XML-атрибуты Пространства имен XML Отображение XML XML HttpRequest XML-парсер XML DOM XML XPath XML XSLT XML XQuery XML-ссылка XML-валидатор XML-DTD XML-схема XML-сервер XML-примеры XML-викторина XML-сертификат

XML АЯКС

Введение в АЯКС AJAX XMLHttp АЯКС-запрос AJAX-ответ XML-файл AJAX АЯКС PHP АЯКС АСП База данных AJAX AJAX-приложения Примеры AJAX

XML DOM

Введение в ДОМ DOM-узлы Доступ к DOM Информация об узле DOM Список узлов DOM Обход DOM DOM-навигация DOM Получить значения Узлы изменения DOM DOM Удалить узлы DOM заменить узлы DOM Создание узлов DOM Добавить узлы Узлы клонирования DOM Примеры DOM

Учебник XPath

XPath Введение Узлы XPath Синтаксис XPath Оси XPath Операторы XPath Примеры XPath

XSLT- учебник

Введение в XSLT Языки XSL XSLT-преобразование XSLT <шаблон> XSLT <значение> XSLT <для каждого> XSLT <сортировка> XSLT <если> XSLT <выбрать> XSLT Применить XSLT на клиенте XSLT на сервере XSLT Редактировать XML XSLT-примеры

Учебник по XQuery

Введение в XQuery Пример XQuery XQuery FLWOR XQuery HTML Условия XQuery Синтаксис XQuery XQuery Добавить Выбор XQuery Функции XQuery

XML -DTD

Введение в DTD Строительные блоки DTD Элементы DTD Атрибуты DTD Элементы DTD и Attr Сущности DTD Примеры DTD

XSD- схема

Введение в XSD XSD Как XSD <схема> XSD-элементы XSD-атрибуты XSD-ограничения

Комплекс XSD

XSD-элементы XSD пустой Только элементы XSD Только текст XSD XSD смешанный XSD-индикаторы XSD <любой> XSD <любой атрибут> Замена XSD Пример XSD

XSD- данные

XSD-строка XSD-дата XSD числовой XSD Разное Справочник по XSD

Веб- сервисы

XML-сервисы XML WSDL XML-МЫЛО XML RDF XML RSS

использованная литература

Типы узлов DOM DOM-узел Список узлов DOM DOM NamedNodeMap Документ DOM DOM-элемент Атрибут DOM DOM-текст ДОМ CDATA Дом Комментарий DOM XMLHttpRequest Парсер DOM XSLT-элементы Функции XSLT/XPath

Список узлов XML DOM


Список узлов возвращается методом getElementsByTagName() и свойством childNodes.


Попробуйте сами — примеры

В приведенных ниже примерах используется XML-файл books.xml .


В этом примере используется метод getElementsByTagName() для получения текста из первого элемента <title> в «books.xml».


В этом примере список узлов и свойство length используются для перебора всех элементов <title> в «books.xml».


В этом примере используется список атрибутов для получения атрибута из первого элемента <book> в «books.xml».

×

Заголовок


Список узлов DOM

При использовании свойств или методов, таких как childNodes или getElementsByTagName(), возвращается объект списка узлов.

Объект списка узлов представляет собой список узлов в том же порядке, что и в XML.

Доступ к узлам в списке узлов осуществляется с порядковыми номерами, начинающимися с 0.

На следующем изображении представлен список узлов элементов <title> в « books.xml »:

Список узлов DOM

Предположим, что «books.xml» загружается в переменную xmlDoc.

Этот фрагмент кода возвращает список узлов заголовков в «books.xml»:

x = xmlDoc.getElementsByTagName("title");

После выполнения приведенного выше оператора x является объектом списка узлов.

Следующий фрагмент кода возвращает текст из первого элемента <title> в списке узлов (x):

Пример

var txt = x[0].childNodes[0].nodeValue;

После выполнения приведенного выше оператора txt = «Повседневный итальянский».



Длина списка узлов

Объект списка узлов постоянно обновляется. Если элемент удаляется или добавляется, список автоматически обновляется.

Свойство длины списка узлов — это количество узлов в списке.

Этот фрагмент кода возвращает количество элементов <title> в "books.xml":

x = xmlDoc.getElementsByTagName('title').length;

После выполнения приведенного выше оператора значение x будет равно 4.

Длину списка узлов можно использовать для перебора всех элементов в списке.

Этот фрагмент кода использует свойство length для перебора списка элементов <title>:

Пример

x = xmlDoc.getElementsByTagName('title');
xLen = x.length;

for (i = 0; i <xLen; i++) {
    txt += x[i].childNodes[0].nodeValue) + " ";
}

Вывод:

Everyday Italian
Harry Potter
XQuery Kick Start
Learning XML

Объяснение примера:

  1. Предположим, что « books.xml » загружается в xmlDoc.
  2. Установите переменную x для хранения списка узлов всех элементов заголовка.
  3. Соберите значения текстового узла из элементов <title>

Список атрибутов DOM (карта именованных узлов)

Свойство атрибутов узла элемента возвращает список узлов атрибутов.

Это называется картой именованных узлов и похоже на список узлов, за исключением некоторых различий в методах и свойствах.

Список атрибутов постоянно обновляется. Если атрибут удаляется или добавляется, список автоматически обновляется.

Этот фрагмент кода возвращает список узлов атрибутов из первого элемента <book> в "books.xml":

x = xmlDoc.getElementsByTagName('book')[0].attributes;

После выполнения приведенного выше кода x.length = количество атрибутов, а x.getNamedItem() можно использовать для возврата узла атрибута.

Этот фрагмент кода получает значение атрибута «категория» и количество атрибутов книги:

Пример

x = xmlDoc.getElementsByTagName("book")[0].attributes;

txt = x.getNamedItem("category").nodeValue + " " + x.length;

Вывод:

cooking 1

Объяснение примера:

  1. Предположим, что « books.xml » загружается в xmlDoc.
  2. Установите переменную x для хранения списка всех атрибутов первого элемента <book>
  3. Получить значение атрибута «категория» и длину списка атрибутов.