Свойства attributes и childnodes объекта Элемент DOM модели XML

Рубрика: DOM - Объектная Модель Документа

Доброго времени суток, уважаемые посетители okITgo.ru! В статье будут подробно рассмотрены свойства attributes и childnodes XML DOM объекта Элемент. На примерах Вы узнаете, как можно использовать эти свойства в своих целях при обработке xml-документов.

Свойство attributes


Все Свойства Объекта Элемент Объект Элемент

Определение и Использование

Свойство attributes возвращает Именованную Карту Узлов (список атрибутов), содержащую атрибуты выбранного узла

Если выбранный узел не является элементом, это свойство возвращает NULL.

Синтаксис

elementNode.attributes


Советы и Замечания

Совет: Это свойство работает только на узлах элементов.


Пример 1

Следующий фрагмент кода загружает "books.xml" в xmlDoc, используя loadXMLDoc(), и получает количество атрибутов первого элемента <title> в "books.xml":

Пример

xmlDoc=loadXMLDoc("books.xml");

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

Вывод кода выше будет:

1

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


Пример 2

Следующий фрагмент кода загружает "books.xml" в xmlDoc с помощью loadXMLDoc() и получает атрибут "category" в первом элементе <book>:

Пример

xmlDoc=loadXMLDoc("books.xml");

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

document.write(att.value);

Вывод кода выше будет:

КУЛИНАРИЯ

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


Свойство childNodes


Все Свойства Объекта Элемент Объект Элемент

Определение и Использование

Свойство childNodes возвращает Список Узлов, содержащий дочерние узлы выбранного узла

Если выбранный узел не имеет дочерних узлов, это свойство возвращает Список Узлов, который не содержит ни одного узла.

Синтаксис

elementNode.childNodes


Советы и Замечания

Совет: Чтобы обойти циклически список дочерних узлов, более эффективно использовать свойство nextSibling, чем явным образом использовать список дочерних узлов родительского объекта.


Пример 1

Следующий фрагмент кода загружает "books.xml" в xmlDoc, применяя loadXMLDoc(), и получает текстовый узел первого элемента <title> в "books.xml":

Пример

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
document.write(x.nodeValue);

Вывод кода выше будет:

Самогон и другие спиртные напитки домашнего приготовления

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


Пример 2

Следующий фрагмент кода загружает "books.xml" в xmlDoc, используя loadXMLDoc(), и определяет количество дочерних узлов первого элемента <book> в "books.xml":

Пример

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("book")[0].childNodes;
document.write(x.length);

В Internet Explorer

Вывод кода выше будет:

4

В браузерах Mozilla

Вывод кода выше будет:

9

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

Firefox, как и большинство других браузеров, будут трактовать пустые пробельные символы и переходы на новую строку как текстовые узлы, в отличие от Internet Explorer, который этого не делает. Так что в примере выше результат будет различным в этих браузерах.

Чтобы прочитать больше о различиях между браузерами, смотрите пост DOM Браузеры.


Все Свойства Объекта Элемент Объект Элемент