DOM методы XML документа getElementsByTagName(), getElementsByTagNameNS() и renameNode() – ч.2

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

Приветствую, уважаемые читатели блога okITgo.ru! Продолжим рассматривать методы DOM объекта Документ и сегодня остановимся на способах получения элементов по имени с помощью метода getElementsByTagName(), по имени и пространству имен посредством метода getElementsByTagNameNS(), а также узнаем, как можно переименовать узел, включая некоторые особенности метода renameNode().


Справка по Объекту Документ Объект Документ

Метод getElementsByTagName()

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

Метод getElementsByTagName() возвращает Список Узлов всех элементов с указанным именем.

Синтаксис

getElementsByTagName(name)

Параметр Описание
name Строка, указывающая имя тега, который следует искать. Значение "*" соответствует всем тегам


Пример

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

Пример

xmlDoc=loadXMLDoc("books.xml");

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

Вывод:

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

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


Справка по Объекту Документ Объект Документ

Метод getElementsByTagNameNS()

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

Метод getElementsByTagNameNS() возвращает Список Узлов всех элементов с указанным именем и пространством имен.

Синтаксис

getElementsByTagNameNS(ns,name)

Параметр Описание
nsСтрока, указывающая название пространства имен, которое следует искать. Значение "*" соответствует всем тегам
nameСтрока, указывающая имя тега для поиска. Значение "*" соответствует всем тегам


Пример

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

Пример

xmlDoc=loadXMLDoc("books.xml");

x=xmlDoc.getElementsByTagName(‘book’);
var newel,newtext;

for (i=0;i<x.length;i++)
{
newel=xmlDoc.createElementNS(‘p’,’edition’);
newtext=xmlDoc.createTextNode(‘Первое’);
newel.appendChild(newtext);
x[i].appendChild(newel);
}

//Вывести все заголовки и издания
y=xmlDoc.getElementsByTagName("title");
z=xmlDoc.getElementsByTagNameNS("p","edition");

for (i=0;i<y.length;i++)
{
document.write(y[i].childNodes[0].nodeValue);
document.write(" – ");
document.write(z[i].childNodes[0].nodeValue);
document.write(" издание");
document.write("");
}

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


Справка по Объекту Документ Объект Документ

Метод renameNode()

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

Метод renameNode() переименовывает существующий элемент или атрибутивный узел.

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

Этот метод возвращает переименованный узел.

Синтаксис

renameNode(node,uri,name)

ПараметрОписание
nodeЭлемент или атрибутивный узел, который необходимо переименовать
uriСтрока, которая указывает новое название пространства имен
nameСтрока, указывающая новое имя


Справка по Объекту Документ Объект Документ