XML DOM โคลนตัวเลือก

ตัวอย่าง

ตัวอย่างดังนี้ใช้ XML ไฟล์ books.xml.

ฟังก์ชัน loadXMLDoc()ที่ตั้งอยู่ด้านนอก JavaScript สำหรับโหลดเอกสาร XML

คัดลอกตัวแทน และแอนนาพนันท์มันไปที่ตัวแทนที่มีอยู่แล้ว
ตัวอย่างนี้ใช้ cloneNode() ที่จะคัดลอกตัวแทน และแอนนาพนันท์มันไปที่ตัวแทนรίζอันแรกของเอกสาร XML

คัดลอกตัวแทน

วิธี cloneNode() ทำการสร้างตัวแทนที่คัดลอกของตัวแทนที่กำหนด

วิธี cloneNode() มีตัวแปรหนึ่ง (true หรือ false) ที่บอกว่าตัวแทนที่คัดลอกมีทั้งหมดคุณสมบัติและลูกตัวแทนของตัวแทนเดิมหรือไม่

รหัสที่ต่อไปนี้คัดลอกจาก <book> ตัวแทนแรก และแอนนาพนันท์มันไปที่ตัวแทนรίζอันแรกของเอกสาร

xmlDoc=loadXMLDoc("books.xml");
oldNode=xmlDoc.getElementsByTagName('book')[0];
newNode=oldNode.cloneNode(true);
xmlDoc.documentElement.appendChild(newNode);
//Output all titles
y=xmlDoc.getElementsByTagName("title");
for (i=0;i<y.length;i++)
{
document.write(y[i].childNodes[0].nodeValue);
document.write("<br />");
}

ออกมาเป็น:

Harry Potter
Everyday Italian
XQuery Kick Start
Learning XML
Harry Potter

ตัวอย่างที่ชี้แจง:

  1. โดยใช้ loadXMLDoc() บวก "books.xml" โหลด xmlDoc ขึ้น
  2. หาโหลดข้อมูลที่ต้องการคัดลอก
  3. โดยใช้วิธี cloneNode โค้ดโหลดยัง "newNode"
  4. เพิ่มโหลดข้อมูลใหม่ในต้นของต้นของเอกสาร XML
  5. แสดงทั้งหมดของ book ทั้งหมดที่มี title ในเอกสาร

TIY