เพิ่มตัวเลือก XML DOM

เพิ่มโครงสร้าง - appendChild()

appendChild() วิธีการเพิ่มลูกโครงสร้างเข้าสู่โครงสร้างที่มีอยู่

โครงสร้างใหม่สามารถเพิ่มเข้าไปหลังจากโครงสร้างลูกของที่มีอยู่:

แจ้งเตือน:ถ้าตำแหน่งของโครงสร้างเป็นสำคัญ ใช้ insertBefore()

บทเขียนรหัสต่อไปนี้จะสร้างองค์ประกอบ (<edition>) และเพิ่มมันเข้าไปหลังจากลูกฝากขององค์ประกอบ <book> แรก:

ตัวอย่าง 1

newEle = xmlDoc.createElement("edition");
xmlDoc.getElementsByTagName("book")[0].appendChild(newEle);

親自試一試

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

  1. หน้าต้อนรับ books.xml ได้โหลดเข้า xmlDoc
  2. สร้างโครงการ <edition> ใหม่
  3. ใส่โครงสร้างโครงเนื้อ <book> แรก

บทเขียนนี้มีความหมายเดียวกับที่ก่อน แต่มีการเพิ่มค่าให้กับองค์ประกอบใหม่:

ตัวอย่าง 2

newEle = xmlDoc.createElement("edition");
newText=xmlDoc.createTextNode("first edition");
newEle.appendChild(newText);
xmlDoc.getElementsByTagName("book")[0].appendChild(newEle);

親自試一試

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

  1. หน้าต้อนรับ books.xml ได้โหลดเข้า xmlDoc
  2. สร้างโครงการ <edition> ใหม่
  3. สร้างโครงการข้อความใหม่ "ฉบับแรก"
  4. เพิ่มโครงการข้อความนี้ข้างละอียว <edition> อีเลเมนต์
  5. เพิ่มโครงการ <edition> ข้างละอียว <book> อีเลเมนต์

ใส่โครงการ - insertBefore()

insertBefore() เมธอดที่ใส่โครงการข้างหน้าตามหลังโครงการที่กำหนด

มีประโยชน์มากเมื่อตำแหน่งของตามหลังที่เพิ่มเข้ามาสำคัญ

實例

newNode = xmlDoc.createElement("book");
x = xmlDoc.documentElement;
y = xmlDoc.getElementsByTagName("book")[3];
x.insertBefore(newNode,y);

親自試一試

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

  1. หน้าต้อนรับ books.xml ได้โหลดเข้า xmlDoc
  2. สร้างอีเลเมนต์ใหม่ <book>
  3. ใส่โครงการใหม่ที่จุดสุดท้ายของ <book> อีเลเมนต์
  4. ถ้าค่าที่ใส่ของ insertBefore() คือ null โครงการใหม่จะถูกเพิ่มที่จุดสุดท้ายของลูกที่มีอยู่

x.insertBefore(newNode,null) และ x.appendChild(newNode) สามารถเพิ่มลูกตามหลัง x ได้

เพิ่มอาทิตย์ใหม่

setAttribute() กำหนดค่าของอาทิตย์

ถ้ามีอาทิตย์ที่ไม่มีอยู่ มีเมธอด setAttribute() สามารถสร้างอาทิตย์ใหม่ได้

實例

xmlDoc.getElementsByTagName('book')[0].setAttribute("edition","ฉบับแรก");

親自試一試

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

  1. หน้าต้อนรับ books.xml ได้โหลดเข้า xmlDoc
  2. ตั้งค่าค่าของอาทิตย์ "edition" ของ <book> ตัวแรกเป็น "ฉบับแรก"

แจ้งเตือน:ไม่มีเมธอดชื่อ addAttribute() ถ้ามีอาทิตย์ที่ไม่มีอยู่ setAttribute() จะสร้างอาทิตย์ใหม่ ถ้ามีอาทิตย์อยู่แล้วเมธอด setAttribute() จะเข้ารหัสค่าที่มีอยู่

เพิ่มข้อความเข้าสู่ต้นของข้อความ - insertData()

insertData() เมธอดนี้จะใส่ข้อมูลเข้าสู่ต้นของข้อความที่มีอยู่

insertData() มีเมธอดสองค่าเข้ามา

  • offset - จากที่ไหนเริ่มทำการใส่ตัวอักษร(เริ่มตั้งแต่ 0)
  • string - 要插入的字符串

下面的代碼片段將會將 "我最愛的" 添加到已加載的 XML 的第一個 <title> 元素的文本節點:

實例

xmlDoc.getElementsByTagName("title")[0].childNodes[0].insertData(0,"我最愛的");

親自試一試