XML DOM replaceChild() 方法
定义和用法
replaceChild()
Η μέθοδος αντικαθιστά ένα υποκείμενο στοιχείο με ένα άλλο στοιχείο.
Σε περίπτωση επιτυχίας, η συνάρτηση επιστρέφει το αντικατασταμένο στοιχείο, σε περίπτωση αποτυχίας επιστρέφει NULL
。
Γλώσσα
elementNode.replaceChild(new_node,old_node)
Παράμετροι | Περιγραφή |
---|---|
new_node | Απαιτείται. Ορίζει το νέο στοιχείο. |
old_node | Απαιτείται. Ορίζει το υποκείμενο στοιχείο που πρέπει να αντικατασταθεί. |
Παράδειγμα
Η παρακάτω κώδικας φορτώνει το "books.xml" στο xmlDoc και αντικαθιστά το πρώτο στοιχείο <book>:
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 x, y, z, i, newNode, newTitle, newText, xmlDoc, txt; xmlDoc = xml.responseXML; txt = ""; x = xmlDoc.documentElement; // Δημιουργώ έναν στοιχείο βιβλίου, στοιχείο τίτλου και κείμενο στοιχείο newNode = xmlDoc.createElement("book"); newTitle = xmlDoc.createElement("title"); newText = xmlDoc.createTextNode("Hello World"); // Προσθέτω έναν κείμενο στοιχείο στη γνώση του τίτλου newTitle.appendChild(newText); // Προσθέτω αυτή τη γνώση του τίτλου στη γνώση του βιβλίου newNode.appendChild(newTitle); y = xmlDoc.getElementsByTagName("book")[0]; // Επαναλαμβάνω αυτή τη νέα γνώση του βιβλίου για να αντικαταστήσω την πρώτη γνώση του βιβλίου x.replaceChild(newNode, y); z = xmlDoc.getElementsByTagName("title"); // Εκτύπωση όλων των τίτλων για (i = 0; i < z.length; i++) { txt += z[i].childNodes[0].nodeValue + "<br>"; } document.getElementById("demo").innerHTML = txt; }