เพิ่มตัวเลือก XML DOM
เพิ่มโครงสร้าง - appendChild()
appendChild()
วิธีการเพิ่มลูกโครงสร้างเข้าสู่โครงสร้างที่มีอยู่
โครงสร้างใหม่สามารถเพิ่มเข้าไปหลังจากโครงสร้างลูกของที่มีอยู่:
แจ้งเตือน:ถ้าตำแหน่งของโครงสร้างเป็นสำคัญ ใช้ insertBefore()
บทเขียนรหัสต่อไปนี้จะสร้างองค์ประกอบ (<edition>) และเพิ่มมันเข้าไปหลังจากลูกฝากขององค์ประกอบ <book> แรก:
ตัวอย่าง 1
newEle = xmlDoc.createElement("edition"); xmlDoc.getElementsByTagName("book")[0].appendChild(newEle);
ตัวอย่างชี้แจง:
- หน้าต้อนรับ books.xml ได้โหลดเข้า
xmlDoc
中 - สร้างโครงการ <edition> ใหม่
- ใส่โครงสร้างโครงเนื้อ <book> แรก
บทเขียนนี้มีความหมายเดียวกับที่ก่อน แต่มีการเพิ่มค่าให้กับองค์ประกอบใหม่:
ตัวอย่าง 2
newEle = xmlDoc.createElement("edition"); newText=xmlDoc.createTextNode("first edition"); newEle.appendChild(newText); xmlDoc.getElementsByTagName("book")[0].appendChild(newEle);
ตัวอย่างชี้แจง:
- หน้าต้อนรับ books.xml ได้โหลดเข้า
xmlDoc
中 - สร้างโครงการ <edition> ใหม่
- สร้างโครงการข้อความใหม่
"ฉบับแรก"
- เพิ่มโครงการข้อความนี้ข้างละอียว <edition> อีเลเมนต์
- เพิ่มโครงการ <edition> ข้างละอียว <book> อีเลเมนต์
ใส่โครงการ - insertBefore()
insertBefore()
เมธอดที่ใส่โครงการข้างหน้าตามหลังโครงการที่กำหนด
มีประโยชน์มากเมื่อตำแหน่งของตามหลังที่เพิ่มเข้ามาสำคัญ
實例
newNode = xmlDoc.createElement("book"); x = xmlDoc.documentElement; y = xmlDoc.getElementsByTagName("book")[3]; x.insertBefore(newNode,y);
ตัวอย่างชี้แจง:
- หน้าต้อนรับ books.xml ได้โหลดเข้า
xmlDoc
中 - สร้างอีเลเมนต์ใหม่ <book>
- ใส่โครงการใหม่ที่จุดสุดท้ายของ <book> อีเลเมนต์
- ถ้าค่าที่ใส่ของ insertBefore() คือ null โครงการใหม่จะถูกเพิ่มที่จุดสุดท้ายของลูกที่มีอยู่
x.insertBefore(newNode,null) และ x.appendChild(newNode) สามารถเพิ่มลูกตามหลัง x ได้
เพิ่มอาทิตย์ใหม่
setAttribute()
กำหนดค่าของอาทิตย์
ถ้ามีอาทิตย์ที่ไม่มีอยู่ มีเมธอด setAttribute()
สามารถสร้างอาทิตย์ใหม่ได้
實例
xmlDoc.getElementsByTagName('book')[0].setAttribute("edition","ฉบับแรก");
ตัวอย่างชี้แจง:
- หน้าต้อนรับ books.xml ได้โหลดเข้า
xmlDoc
中 - ตั้งค่าค่าของอาทิตย์ "edition" ของ <book> ตัวแรกเป็น "ฉบับแรก"
แจ้งเตือน:ไม่มีเมธอดชื่อ addAttribute() ถ้ามีอาทิตย์ที่ไม่มีอยู่ setAttribute() จะสร้างอาทิตย์ใหม่ ถ้ามีอาทิตย์อยู่แล้วเมธอด setAttribute() จะเข้ารหัสค่าที่มีอยู่
เพิ่มข้อความเข้าสู่ต้นของข้อความ - insertData()
insertData()
เมธอดนี้จะใส่ข้อมูลเข้าสู่ต้นของข้อความที่มีอยู่
insertData()
มีเมธอดสองค่าเข้ามา
- offset - จากที่ไหนเริ่มทำการใส่ตัวอักษร(เริ่มตั้งแต่ 0)
- string - 要插入的字符串
下面的代碼片段將會將 "我最愛的" 添加到已加載的 XML 的第一個 <title> 元素的文本節點:
實例
xmlDoc.getElementsByTagName("title")[0].childNodes[0].insertData(0,"我最愛的");