แทนที่จุดฟ้น XML DOM
- หน้าก่อน การลบโครงข่าย DOM
- หน้าต่อไป การสร้างโครงข่าย DOM
วิธีแทนค่า() ใช้แทนที่โหมดที่ระบุ
ตัวแปร nodeValue ใช้แทนที่ข้อความของโหมดข้อความ
ตัวอย่าง
ตัวอย่างด้านล่างนี้ใช้แบบไฟล์ XML books.xml.
ฟังก์ชัน loadXMLDoc()،ตั้งแต่ JavaScript ด้านนอก,ใช้เพื่อโหลดแบบไฟล์ XML
- แทนที่โหมดอีเลเมนต์
- ตัวอย่างนี้ใช้วิธีแทนค่า() ในการแทนที่โหมด book ที่หนึ่ง
- แทนที่ข้อมูลของโหมดข้อความ
- ตัวอย่างนี้ใช้ตัวแปร nodeValue ในการแทนที่ข้อมูลของโหมดข้อความ
แทนที่โหมดอีเลเมนต์
วิธีแทนค่า() ใช้เพื่อแทนที่โหมด
บริบทรหัสสอดคล้องด้านล่างนี้ใช้แทนที่โหมด <book> ที่หนึ่ง
xmlDoc=loadXMLDoc("books.xml"); x = xmlDoc.documentElement; //สร้างโหมด book อีกแถวหนึ่ง โหมด title และโหมดข้อความ newNode = xmlDoc.createElement("book"); newTitle = xmlDoc.createElement("title"); newText = xmlDoc.createTextNode("Hello World"); //เพิ่มโหมดข้อความใส่โหมด title newTitle.appendChild(newText); //เพิ่มโหมด title ใส่โหมด book newNode.appendChild(newTitle); y = xmlDoc.getElementsByTagName("book")[0]; //ใช้โหมดนี้แทนที่โหมด book ที่หนึ่ง x.replaceChild(newNode, y);
ตัวอย่างที่มีตอบโต้:
- ด้วยการใช้ loadXMLDoc() บวก "books.xml" โหลด xmlDoc
- สร้างโหมดอีเลเมนต์ <book> ใหม่
- สร้างโหมดอีเลเมนต์ <title> ใหม่
- สร้างโหมดข้อความใหม่ ซึ่งมีข้อความ "Hello World"
- เพิ่มโหมดข้อความนี้สู่โหมดอีเลเมนต์ <title>
- เพิ่มโหมดอีเลเมนต์ <book> ใหม่นี้สู่โหมดอีเลเมนต์ <book> ใหม่
- ใช้โหมดอีเลเมนต์ <book> ใหม่แทนโหมดอีเลเมนต์ <book> ที่หนึ่ง
แทนที่ข้อมูลของโหมดข้อความ
วิธีแทนค่า() ใช้เพื่อแทนที่ข้อมูลของโหมดข้อความ。
วิธี replaceData() มีสามตัวอักษร
- offset - จุดที่จะเริ่มแทนที่ตัวอักษร Offset มีค่าเริ่มต้นที่ 0
- length - จำนวนตัวอักษรที่จะแทนที่
- string - ข้อความที่จะใส่
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("title")[0].childNodes[0]; x.replaceData(0,8,"hello");
ตัวอย่างที่มีตอบโต้:
- ด้วยการใช้ loadXMLDoc() บวก "books.xml" โหลด xmlDoc
- ดึงข้อความของตัวอย่างของตัวอย่าง <title> ตัวแรก
- ใช้วิธี replaceData ที่จะแทนที่อักษรตัวแรกแปดของข้อความ
ใช้คุณสมบัติ nodeValue
การใช้คุณสมบัติ nodeValue จะง่ายขึ้นในการแทนที่ข้อมูลของตัวอย่าง
บวกลงรหัสส่วนต่อไปนี้และใช้ "Easy Italian" ทดแทนข้อความตัวอย่าง <title> แรก
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("title")[0].childNodes[0]; x.nodeValue="Hello World";
ตัวอย่างที่มีตอบโต้:
- ด้วยการใช้ loadXMLDoc() บวก "books.xml" โหลด xmlDoc
- ดึงข้อความของตัวอย่างของตัวอย่าง <title> ตัวแรก
- ใช้คุณสมบัติ nodeValue ที่นี่เพื่อเปลี่ยนข้อความของตัวอย่างข้อความนี้
คุณสามารถ เปลี่ยนโครงข่าย อ่านเพิ่มเติมเกี่ยวกับการเปลี่ยนค่าโครงข่ายในนี้
- หน้าก่อน การลบโครงข่าย DOM
- หน้าต่อไป การสร้างโครงข่าย DOM