แทนที่จุดฟ้น XML 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> ที่หนึ่ง

TIY

แทนที่ข้อมูลของโหมดข้อความ

วิธีแทนค่า() ใช้เพื่อแทนที่ข้อมูลของโหมดข้อความ。

วิธี 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 ที่จะแทนที่อักษรตัวแรกแปดของข้อความ

TIY

ใช้คุณสมบัติ 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 ที่นี่เพื่อเปลี่ยนข้อความของตัวอย่างข้อความนี้

TIY

คุณสามารถ เปลี่ยนโครงข่าย อ่านเพิ่มเติมเกี่ยวกับการเปลี่ยนค่าโครงข่ายในนี้