Список узлов DOM XML
- Предыдущая страница Информация о узле DOM
- Следующая страница Прогулка по узлам DOM
getElementsByTagName()
метод и childNodes
свойство можно получить список узлов.
Список узлов DOM
Используя childNodes
или getElementsByTagName()
При вызове свойств или методов, возвращается NodeList объект.
Объект NodeList представляет собой список узлов, порядок которых совпадает с порядком в XML.
Узлы списка NodeList можно получить по индексу, начинающемуся с 0.
На следующем рисунке показано: books.xml Список узлов элемента <title>:

Предположим, что "books.xml" уже загружен в переменную xmlDoc.
Этот фрагмент кода возвращает список узлов элемента "title" из файла "books.xml":
x = xmlDoc.getElementsByTagName("title");
После выполнения предыдущих команд, x становится NodeList объектом.
Следующий фрагмент кода возвращает текст первого <title> элемента из списка узлов (x):
Пример
var txt = x[0].childNodes[0].nodeValue;
После выполнения предыдущих команд txt = "Яша тань чи".
Длина узлов
Объект NodeList будет поддерживать自身的 обновление. Если удалятся или добавятся элементы, список автоматически обновится.
длина списка узлов length
Атрибуты это количество узлов в списке.
Этот код возвращает количество элементов <title> в "books.xml":
x = xmlDoc.getElementsByTagName('title').length;
После выполнения上面的 строкиx
равна 5.
Длина списка узлов может быть использована для циклического遍ения всех элементов списка.
Этот код использует length
Цикл свойств для遍历 списка элементов <title>:
Пример
x = xmlDoc.getElementsByTagName('title'); xLen = x.length; for (i = 0; i < xLen; i++) { txt += (x[i].childNodes[0].nodeValue) + " "; }
Пример объяснения:
- Предположим books.xml был загружен в
xmlDoc
Центр - Установить переменную x для сохранения списка узлов всех элементов title
- Получение значения текстового узла из элемента <title>
Список свойств DOM (карта именованных узлов)
атрибутов элемента attributes
Атрибуты возвращают список узлов атрибутов.
Это называется named node map (карта именованных узлов), как и список узлов, но методы и атрибуты различаются.
Список атрибутов также будет поддерживать актуальность. Если удалятся или добавятся атрибуты, список автоматически обновится.
Этот код возвращает список узлов атрибутов первого <book> элемента из "books.xml":
x = xmlDoc.getElementsByTagName('book')[0].attributes;
После выполнения上面的 кодаx.length
равно количеству атрибутов, можно использовать x.getNamedItem()
Возвращает узел атрибута.
Этот код получает значение атрибута "category" первого книги и количество атрибутов:
Пример
x = xmlDoc.getElementsByTagName("book")[0].attributes; txt = x.getNamedItem("category").nodeValue + " " + x.length;
Пример объяснения:
- Предположим books.xml загружен в
xmlDoc
Центр - Установка переменной x для сохранения списка всех атрибутов первого элемента <book>
- Получение значения атрибута "category" и длины списка атрибутов
- Предыдущая страница Информация о узле DOM
- Следующая страница Прогулка по узлам DOM