Получение значения узла XML DOM

Атрибут nodeValue используется для получения текстового значения узла.

Метод getAttribute() возвращает значение атрибута.

Пример

Ниже приведен пример использования файла XML books.xml.

Функция loadXMLDoc(), находящийся во внешнем JavaScript, используется для загрузки файла XML.

Получение значения элемента
В этом примере используется getElementsByTagname() для получения первого элемента <title> из файла "books.xml".
Получение значения атрибута
В этом примере используется метод getAttribute() для получения значения атрибута "lang" первого элемента <title> из файла "books.xml".

Получение значения элемента

В DOM每种成分都是节点. Узлы элементов не имеют текстового значения.

Текст узла элемента хранится в подузле. Этот узел называется текстовым узлом.

Метод получения текста элемента - это получение значения этого подузла (текстового узла).

Получение значения элемента

Метод getElementsByTagName() возвращает список узлов всех элементов с указанным именем тега, и элементы в списке расположены в том порядке, в котором они出现 в исходном документе.

Ниже приведен код, который использует: loadXMLDoc() Установите "books.xmlЗагрузите xmlDoc и найдите первый элемент <title>:

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

Атрибут childNodes возвращает список подузлов.<title> Элемент имеет только один подузел, который является текстовым узлом.

Ниже приведен код для поиска текстового узла <title>:

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

Атрибут nodeValue возвращает текстовое значение текстового узла:

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

Результат: txt = "Harry Potter"

TIY

Пробегите все элементы <title>:TIY

Получение значения атрибута

В DOM атрибуты также являются узлами. В отличие от узлов элементов, узлы атрибутов имеют текстовое значение.

Метод получения значения атрибута - это получение его текстового значения.

Эта задача может быть выполнена с помощью метода getAttribute() или атрибута nodeValue узла.

Получение значения атрибута - getAttribute()

Метод getAttribute() возвращает значение атрибута.

Ниже приведен код для поиска текста значения атрибута "lang" первого элемента <title>:

xmlDoc=loadXMLDoc("books.xml");
txt=xmlDoc.getElementsByTagName("title")[0].getAttribute("lang");

Результат: txt = "en"

Пример объяснения:

  • Используя loadXMLDoc() Установите "books.xmlЗагрузите в xmlDoc
  • Установите значение переменной txt в значение атрибута "lang" первого элемента title

TIY

Пройдите все элементы <book> и получите их атрибуты "category":TIY

Получение значения атрибута - getAttributeNode()

Метод getAttributeNode() возвращает узел атрибута.

Ниже приведен код, который检索 текстовое значение атрибута "lang" первого элемента <title>:

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("title")[0].getAttributeNode("lang");
txt=x.nodeValue;

Результат: txt = "en"

Пример объяснения:

  • Используя loadXMLDoc() Установите "books.xmlЗагрузите в xmlDoc
  • Получите атрибут узла "lang" первого узла <title>
  • Установите значение переменной txt в значение атрибута

TIY

Проходите все элементы <book> и получайте их атрибуты "category":TIY