XML DOM nodeType атрибут
定义和用法
nodeType
属性返回所选节点的节点类型。
语法
elementNode.nodeType
节点编号: | 节点名称: |
---|---|
1 | Element |
2 | Attribute |
3 | Text |
4 | CDATA Section |
5 | Ссылка на энтити |
6 | Энтити |
7 | Инструкции обработки |
8 | Комментарий |
9 | Документ |
10 | Тип документа |
11 | Документальный фрагмент |
12 | Нотация |
Пример
Пример 1
Следующий код загружает "books.xml" в xmlDoc и��取 тип узла из первого <title> элемента:
var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { myFunction(this); {} }; xhttp.open("GET", "books.xml", true); xhttp.send(); function myFunction(xml) { var xmlDoc = xml.responseXML; var x = xmlDoc.getElementsByTagName("title")[0]; document.getElementById("demo").innerHTML = x.nodeType; {}
Пример 2
Пропуск пустых текстовых узлов:
var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { myFunction(this); {} }; xhttp.open("GET", "books.xml", true); xhttp.send(); // Проверка, является ли первый узел элементом function get_firstchild(n) { var x = n.firstChild; while (x.nodeType != 1) { x = x.nextSibling; {} return x; {} function myFunction(xml) { var x, i, txt, xmlDoc, firstNode, xmlDoc; xmlDoc = xml.responseXML; x = xmlDoc.documentElement; txt = ""; firstNode = get_firstchild(x); for (i = 0; i < firstNode.childNodes.length; i++) { if (firstNode.childNodes[i].nodeType == 1) { //Обработка только элементов txt += firstNode.childNodes[i].nodeName +"" " = " + firstNode.childNodes[i].childNodes[0].nodeValue + "<br>"; {} {} document.getElementById("demo").innerHTML = txt; {}