В этой главе мы изучим, как получить доступ к узлам XML DOM, которые рассматриваются как информационные единицы документа XML. Структура узла XML DOM позволяет разработчику перемещаться по дереву в поисках конкретной информации и одновременно получать к ней доступ.
Доступ к узлам
Ниже приведены три способа доступа к узлам:
-
Используя метод getElementsByTagName ()
-
Путем обхода или обхода дерева узлов
-
Перемещаясь по дереву узлов, используя связи узлов
Используя метод getElementsByTagName ()
Путем обхода или обхода дерева узлов
Перемещаясь по дереву узлов, используя связи узлов
getElementsByTagName ()
Этот метод позволяет получить доступ к информации об узле, указав имя узла. Это также позволяет получить доступ к информации списка узлов и длины списка узлов.
Синтаксис
Метод getElementByTagName () имеет следующий синтаксис:
node.getElementByTagName("tagname");
Куда,
-
узел — это узел документа.
-
tagname — содержит имя узла, значение которого вы хотите получить.
узел — это узел документа.
tagname — содержит имя узла, значение которого вы хотите получить.
пример
Ниже приведена простая программа, которая иллюстрирует использование метода getElementByTagName.
<!DOCTYPE html> <html> <body> <div> <b>FirstName:</b> <span id = "FirstName"></span><br> <b>LastName:</b> <span id = "LastName"></span><br> <b>Category:</b> <span id = "Employee"></span><br> </div> <script> if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp = new XMLHttpRequest(); } else {// code for IE6, IE5 xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.open("GET","/dom/node.xml",false); xmlhttp.send(); xmlDoc = xmlhttp.responseXML; document.getElementById("FirstName").innerHTML = xmlDoc.getElementsByTagName("FirstName")[0].childNodes[0].nodeValue; document.getElementById("LastName").innerHTML = xmlDoc.getElementsByTagName("LastName")[0].childNodes[0].nodeValue; document.getElementById("Employee").innerHTML = xmlDoc.getElementsByTagName("Employee")[0].attributes[0].nodeValue; </script> </body> </html>
-
В приведенном выше примере мы обращаемся к информации узлов FirstName , LastName и Employee .
-
xmlDoc.getElementsByTagName ( «FirstName») [0] .childNodes [0] .nodeValue; Эта строка обращается к значению для дочернего узла FirstName с помощью метода getElementByTagName ().
-
xmlDoc.getElementsByTagName ( «Сотрудник») [0] .attributes [0] .nodeValue; Эта строка обращается к значению атрибута узла Employee getElementByTagName ().
В приведенном выше примере мы обращаемся к информации узлов FirstName , LastName и Employee .
xmlDoc.getElementsByTagName ( «FirstName») [0] .childNodes [0] .nodeValue; Эта строка обращается к значению для дочернего узла FirstName с помощью метода getElementByTagName ().
xmlDoc.getElementsByTagName ( «Сотрудник») [0] .attributes [0] .nodeValue; Эта строка обращается к значению атрибута узла Employee getElementByTagName ().
Пройдя через узлы
Это описано в главе DOM Traversing с примерами.
Навигация по узлам
Это описано в главе « Навигация по DOM» с примерами.