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