روش replaceChild() در XML DOM
تعریف و استفاده
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; // یک عنصر book، یک عنصر title و یک نود متن ایجاد میکند newNode = xmlDoc.createElement("book"); newTitle = xmlDoc.createElement("title"); newText = xmlDoc.createTextNode("Hello World"); // یک نود متن به نود title اضافه میشود newTitle.appendChild(newText); // این نود title را به نود book اضافه میکند newNode.appendChild(newTitle); y = xmlDoc.getElementsByTagName("book")[0]; // با این نود جدید book جایگزین اولین نود book میشود 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; }