Информация Узла

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

Здравствуйте, уважаемые читатели блога okITgo.ru! Продолжаем разбираться с Объектной Моделью Документа XML DOM и в этот раз рассмотрим, как можно получить наиболее важные сведения о том или ином узле.

Итак, свойства nodeName, nodeValue и nodeType содержат информацию об узлах.


Попробуйте Сами – Примеры

Примеры ниже используют XML файл books.xml.
Функция loadXMLDoc(), определенная во внешнем файле JavaScript, используется для загрузки XML файла.

Получить имя узла (для узла элемента)
Этот пример использует свойство nodeName для получения имени узла корневого элемента в "books.xml".

Получить текст из текстового узла
Этот пример использует свойство nodeValue для получения текста первого элемента <title> в "books.xml".

Изменить текст в текстовом узле
Этот пример использует свойство nodeValue для изменения текста в первом элементе <title> XML документа "books.xml".

Получить имя узла и тип узла элемента
Данный пример использует свойства nodeName и nodeType для получения имени узла и типа корневого элемента в "books.xml".


Свойства Узлов

В XML DOM каждый узел является объектом.

Объекты имеют методы и свойства, к которым можно получить доступ и манипулировать ими с помощью JavaScript.

Три наиболее важных свойства узла это:

  • nodeName
  • nodeValue
  • nodeType

Свойство nodeName

Свойство nodeName определяет имя узла.

  • nodeName только для чтения
  • nodeName узла элемента равно имени (названию) тега
  • nodeName узла атрибута равно имени (названию) атрибута
  • nodeName текстового узла всегда имеет значение #text
  • nodeName узла документа всегда равно #document

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


Свойство nodeValue

Свойство nodeValue указывает значение узла.

  • nodeValue для узла элемента неопределено
  • nodeValue текстовых узлов равно самому тексту
  • nodeValue для атрибутивных узлов содержит значение атрибута

Получение Значения Элемента

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

Пример

xmlDoc=loadXMLDoc("books.xml");

x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
txt=x.nodeValue;

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

Результат:  txt = "Самогон и другие напитки домашнего приготовления"

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

  1. Загружаем "books.xml" в xmlDoc, используя loadXMLDoc()
  2. Получаем текстовый узел первого узла элемента <title>
  3. Устанавливаем текстовую переменную txt, присваивая ей значение текстового узла

Изменение Значения Элемента

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

Пример

xmlDoc=loadXMLDoc("books.xml");

x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
x.nodeValue="Easy Cooking";

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

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

  1. Загружаем "books.xml" в xmlDoc посредством loadXMLDoc()
  2. Получаем текстовый узел первого узла элемента <title>
  3. Изменяем значение текстового узла, присваивая ему значение "Самогон как Лечебное Средство"

Свойство nodeType

Свойство nodeType содержит тип узла.

nodeType доступно только для чтения.

Наиболее важные типы узлов это:

Тип узла Значение NodeType
Элемент 1
Атрибут 2
Текст 3
Комментарий 8
Документ 9

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

Спасибо за внимание! До новых встреч на страницах сайта okITgo.ru.