XML 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);

ตัวอย่างการอธิบาย:

  1. ด้วยการใช้ loadXMLDoc() ใส่ "books.xml" โหลด xmlDoc ใน
  2. สร้างจุดซับไดอาดแนวของเอกสารใหม่ <edition>
  3. เพิ่มองค์ประกอบใหม่ให้กับองค์ประกอบ <book> แรก

TIY

วนและเพิ่มองค์ประกอบใหม่ให้กับองค์ประกอบ <book> ทั้งหมด:TIY

สร้างจุดซับไดอาดแนวของเอกสารใหม่

createAttribute() ใช้สร้างจุดซับไดอาดแนวของเอกสารใหม่:

xmlDoc=loadXMLDoc("books.xml");
newatt=xmlDoc.createAttribute("edition");
newatt.nodeValue="first";
x=xmlDoc.getElementsByTagName("title");
x[0].setAttributeNode(newatt); 

ตัวอย่างการอธิบาย:

  1. ด้วยการใช้ loadXMLDoc() ใส่ "books.xml" โหลด xmlDoc ใน
  2. สร้างจุดซับไดอาดแนวของเอกสารใหม่ "edition"
  3. เพิ่มจุดซับไดอาดแนวของเอกสารใหม่ให้กับองค์ประกอบ <title> แรก

TIY

วนและเพิ่มจุดซับไดอาดแนวของเอกสารใหม่ให้กับองค์ประกอบ <title> ทั้งหมด:TIY

หมายเหตุ: ถ้าองค์ประกอบนี้มีอยู่แล้ว จะถูกนิสิตใหม่ทำให้แทน

สร้างนิสิตด้วยการใช้ setAttribute()

เนื่องจาก setAttribute() สามารถสร้างนิสิตใหม่ได้แม้ว่าองค์ประกอบนี้จะไม่มีอยู่ ดังนั้นเราสามารถใช้วิธีนี้เพื่อสร้างนิสิตใหม่

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName('book');
x[0].setAttribute("edition","first");

ตัวอย่างการอธิบาย:

  1. ด้วยการใช้ loadXMLDoc() ใส่ "books.xml" โหลด xmlDoc ใน
  2. ตั้งค่า (สร้าง) ค่าขององค์ประกอบ <book> แรกเป็น "first"

TIY

วนและเพิ่มนิสิตใหม่ให้กับองค์ประกอบ <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);

ตัวอย่างการอธิบาย:

  1. ด้วยการใช้ loadXMLDoc() ใส่ "books.xml" โหลด xmlDoc ใน
  2. สร้างจุดซับไดอาดแนวของเอกสารเล่มใหม่ <edition>
  3. สร้างจุดซับไดอาดแนวของเอกสารเล่มใหม่ ซึ่งข้อความของมันคือ "first"
  4. เพิ่มจุดซับไดอาดแนวของเอกสารเล่มใหม่ให้กับจุดซับข้อความนี้
  5. เพิ่มจุดซับไดอาดแนวของเอกสารเล่มใหม่ให้กับองค์ประกอบ <book> แรก

TIY

เพิ่มจุดซับไดอาดแนวของเอกสารเล่มทั้งหมดให้กับองค์ประกอบ <book> ซึ่งมีจุดซับข้อความTIY

สร้างจุดซับไดอาดแนวของเอกสาร CDATA

createCDATASection() วิธีนี้สร้างจุดซับไดอาดแนวของเอกสาร CDATA ใหม่。

xmlDoc=loadXMLDoc("books.xml");
newCDATA=xmlDoc.createCDATASection("Special Offer & Book Sale");
x=xmlDoc.getElementsByTagName("book")[0];
x.appendChild(newCDATA);

ตัวอย่างการอธิบาย:

  1. ด้วยการใช้ loadXMLDoc() ใส่ "books.xml" โหลด xmlDoc ใน
  2. สร้างเซกชัน CDATA ใหม่
  3. ใส่เซกชัน CDATA ใหม่เข้าไปใน <book> อิเลเมนต์แรก

TIY

วนรอบและเพิ่มเซกชัน CDATA ให้กับทุก <book> อิเลเมนต์TIY

สร้างจุดข้อมูล comment

เมธอด createComment() สร้างจุดข้อมูล comment ใหม่

xmlDoc=loadXMLDoc("books.xml");
newComment=xmlDoc.createComment("Revised March 2008");
x=xmlDoc.getElementsByTagName("book")[0];
x.appendChild(newComment);

ตัวอย่างการอธิบาย:

  1. ด้วยการใช้ loadXMLDoc() ใส่ "books.xml" โหลด xmlDoc ใน
  2. สร้างจุดข้อมูล comment ใหม่
  3. ใส่จุดข้อมูล comment ใหม่เข้าไปใน <book> อิเลเมนต์แรก

TIY

วนรอบและเพิ่มจุดข้อมูล comment ให้กับทุก <book> อิเลเมนต์TIY