В этой главе мы рассмотрим, как получить значение узла объекта DOM XML. XML-документы имеют иерархию информационных единиц, называемых узлами. Объект Node имеет свойство nodeValue , которое возвращает значение элемента.
В следующих разделах мы обсудим —
-
Получение значения узла элемента
-
Получение значения атрибута узла
Получение значения узла элемента
Получение значения атрибута узла
Файл node.xml, используемый во всех следующих примерах, показан ниже:
<Company> <Employee category = "Technical"> <FirstName>Tanmay</FirstName> <LastName>Patil</LastName> <ContactNo>1234567890</ContactNo> <Email>[email protected]</Email> </Employee> <Employee category = "Non-Technical"> <FirstName>Taniya</FirstName> <LastName>Mishra</LastName> <ContactNo>1234667898</ContactNo> <Email>[email protected]</Email> </Employee> <Employee category = "Management"> <FirstName>Tanisha</FirstName> <LastName>Sharma</LastName> <ContactNo>1234562350</ContactNo> <Email>[email protected]</Email> </Employee> </Company>
Получить значение узла
Метод getElementsByTagName () возвращает NodeList всех элементов в порядке документа с заданным именем тега.
пример
В следующем примере (getnode_example.htm) анализируется XML-документ ( node.xml ) в объект XML DOM и извлекается значение узла дочернего узла Firstname (индекс в 0) —
<!DOCTYPE html> <html> <body> <script> if (window.XMLHttpRequest) { xmlhttp = new XMLHttpRequest(); } else{ xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.open("GET","/dom/node.xml",false); xmlhttp.send(); xmlDoc = xmlhttp.responseXML; x = xmlDoc.getElementsByTagName('FirstName')[0] y = x.childNodes[0]; document.write(y.nodeValue); </script> </body> </html>
выполнение
Сохраните этот файл как getnode_example.htm на пути к серверу (этот файл и файл node.xml должны находиться на одном и том же пути на вашем сервере). В результате мы получаем значение узла как Tanmay .
Получить значение атрибута
Атрибуты являются частью элементов узла XML. Элемент узла может иметь несколько уникальных атрибутов. Атрибут дает больше информации об элементах узла XML. Чтобы быть более точным, они определяют свойства элементов узла. Атрибут XML всегда является парой имя-значение. Это значение атрибута называется узлом атрибута .
Метод getAttribute () извлекает значение атрибута по имени элемента.
пример
В следующем примере (get_attribute_example.htm) анализируется документ XML ( node.xml ) в объект XML DOM и извлекается значение атрибута категории Employee (индекс в 2) —
<!DOCTYPE html> <html> <body> <script> if (window.XMLHttpRequest) { xmlhttp = new XMLHttpRequest(); } else { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.open("GET","/dom/node.xml",false); xmlhttp.send(); xmlDoc = xmlhttp.responseXML; x = xmlDoc.getElementsByTagName('Employee')[2]; document.write(x.getAttribute('category')); </script> </body> </html>
выполнение
Сохраните этот файл как get_attribute_example.htm на пути к серверу (этот файл и файл node.xml должны находиться на одном и том же пути на вашем сервере). В результате мы получаем значение атрибута как Management .