XML DOM สร้างโหนด
ลองด้วยตัวคุณเอง - ตัวอย่าง
ตัวอย่างด้าน ล่างใช้ไฟล์ XML books.xml
ตัวอย่างนี้ใช้ createElement() เพื่อสร้างโหนดองค์ประกอบใหม่และ appendChild() เพื่อเพิ่มไปยังโหนด
ตัวอย่างนี้ใช้ createAttribute() เพื่อสร้างโหนดแอตทริบิวต์ใหม่และ setAttributeNode() เพื่อแทรกลงในองค์ประกอบ
ตัวอย่างนี้ใช้ setAttribute() เพื่อสร้างแอตทริบิวต์ใหม่สำหรับองค์ประกอบ
ตัวอย่างนี้ใช้ createTextNode() เพื่อสร้างโหนดข้อความใหม่และ appendChild() เพื่อเพิ่มลงในองค์ประกอบ
ตัวอย่างนี้ใช้ createCDATAsection() เพื่อสร้างโหนดส่วน CDATA และ appendChild() เพื่อเพิ่มลงในองค์ประกอบ
ตัวอย่างนี้ใช้ createComment() เพื่อสร้างโหนดความคิดเห็น และ appendChild() เพื่อเพิ่มลงในองค์ประกอบ
สร้างโหนดองค์ประกอบใหม่
เมธอด createElement ()สร้างโหนดองค์ประกอบใหม่:
ตัวอย่าง
newElement = xmlDoc.createElement("edition");
xmlDoc.getElementsByTagName("book")[0].appendChild(newElement);
ตัวอย่างอธิบาย:
- สมมติว่า " books.xml " ถูกโหลดลงใน xmlDoc
- สร้างโหนดองค์ประกอบใหม่ <รุ่น>
- ผนวกโหนดองค์ประกอบเข้ากับ <book> องค์ประกอบแรก
วนซ้ำและเพิ่มองค์ประกอบให้กับองค์ประกอบ <book> ทั้งหมด:
สร้างโหนดแอตทริบิวต์ใหม่
createAttribute()ใช้เพื่อสร้างโหนดแอตทริบิวต์ใหม่:
ตัวอย่าง
newAtt = xmlDoc.createAttribute("edition");
newAtt.nodeValue = "first";
xmlDoc.getElementsByTagName("title")[0].setAttributeNode(newAtt);
ตัวอย่างอธิบาย:
- สมมติว่า " books.xml " ถูกโหลดลงใน xmlDoc
- สร้างโหนดแอตทริบิวต์ใหม่ "รุ่น"
- ตั้งค่าโหนดแอตทริบิวต์เป็น "แรก"
- เพิ่มโหนดแอตทริบิวต์ใหม่ให้กับองค์ประกอบ <title> แรก
วนรอบองค์ประกอบ <title> ทั้งหมดและเพิ่มโหนดแอตทริบิวต์ใหม่:
หากมีแอตทริบิวต์อยู่แล้ว แอตทริบิวต์นั้นจะถูกแทนที่ด้วยแอตทริบิวต์ใหม่
สร้างแอตทริบิวต์โดยใช้ setAttribute()
เนื่องจาก เมธอด setAttribute()จะสร้างแอตทริบิวต์ใหม่หากไม่มีแอตทริบิวต์ จึงสามารถใช้สร้างแอตทริบิวต์ใหม่ได้
ตัวอย่าง
xmlDoc.getElementsByTagName('book')[0].setAttribute("edition","first");
ตัวอย่างอธิบาย:
- สมมติว่า " books.xml " ถูกโหลดลงใน xmlDoc
- ตั้งค่าแอตทริบิวต์ "edition" เป็น "first" สำหรับ <book> องค์ประกอบแรก
วนรอบองค์ประกอบ <title> ทั้งหมดและเพิ่มแอตทริบิวต์ใหม่:
สร้างโหนดข้อความ
createTextNode ()วิธีการสร้างโหนดข้อความใหม่:
ตัวอย่าง
newEle = xmlDoc.createElement("edition");
newText = xmlDoc.createTextNode("first");
newEle.appendChild(newText);
xmlDoc.getElementsByTagName("book")[0].appendChild(newEle);
ตัวอย่างอธิบาย:
- สมมติว่า " books.xml " ถูกโหลดลงใน xmlDoc
- สร้างโหนดองค์ประกอบใหม่ <รุ่น>
- สร้างโหนดข้อความใหม่ที่มีข้อความ "ก่อน"
- ต่อท้ายโหนดข้อความใหม่ไปยังโหนดองค์ประกอบ
- ผนวกโหนดองค์ประกอบใหม่กับ <หนังสือ> องค์ประกอบแรก
เพิ่มโหนดองค์ประกอบที่มีโหนดข้อความไปยังองค์ประกอบ <book> ทั้งหมด:
สร้างโหนดส่วน CDATA
เมธอด createCDATASection ()จะสร้างโหนดส่วน CDATA ใหม่
ตัวอย่าง
newCDATA = xmlDoc.createCDATASection("Special Offer & Book Sale");
xmlDoc.getElementsByTagName("book")[0].appendChild(newCDATA);
ตัวอย่างอธิบาย:
- สมมติว่า " books.xml " ถูกโหลดลงใน xmlDoc
- สร้างโหนดส่วน CDATA ใหม่
- ผนวกโหนด CDATA ใหม่ต่อท้าย <book> องค์ประกอบ
วนซ้ำและเพิ่มส่วน CDATA ไปยังองค์ประกอบ <book> ทั้งหมด:
สร้างโหนดความคิดเห็น
เมธอด createComment ()จะสร้างโหนดความคิดเห็นใหม่
ตัวอย่าง
newComment = xmlDoc.createComment("Revised March 2015");
xmlDoc.getElementsByTagName("book")[0].appendChild(newComment);
ตัวอย่างอธิบาย:
- สมมติว่า " books.xml " ถูกโหลดลงใน xmlDoc โดยใช้
- สร้างโหนดความคิดเห็นใหม่
- ต่อท้ายโหนดความคิดเห็นใหม่กับองค์ประกอบ <book> แรก
วนซ้ำและเพิ่มโหนดความคิดเห็นไปยังองค์ประกอบ <book> ทั้งหมด: