XML DOM nodeType 属性
定义和用法
nodeType
属性返回所选节点的节点类型。
语法
elementNode.nodeType
节点编号: | 节点名称: |
---|---|
1 | Element |
2 | Attribute |
3 | Text |
4 | CDATA Section |
5 | Entitätsreferenz |
6 | Entität |
7 | Verarbeitungsanweisung |
8 | Kommentar |
9 | Dokument |
10 | Dokumenttyp |
11 | Dokumentfragment |
12 | Notation |
Beispiel
Beispiel 1
Das folgende Code lädt "books.xml" in xmlDoc und holt den Knotentyp des ersten <title>-Elements ab:
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; {}
Beispiel 2
Überspringe leere Textknoten:
var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { myFunction(this); {} }; xhttp.open("GET", "books.xml", true); xhttp.send(); // Überprüfe, ob der erste Knoten ein Elementknoten ist 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) { //Verarbeite nur Elementknoten txt += firstNode.childNodes[i].nodeName + "}}" " = " + firstNode.childNodes[i].childNodes[0].nodeValue + "<br>"; {} {} document.getElementById("demo").innerHTML = txt; {}