Thay thế nút DOM XML

replaceChild() Phương pháp thay thế nút được chỉ định.

nodeValue Thuộc tính thay thế văn bản của phần tử văn bản.

Thay thế phần tử nút

replaceChild() Phương pháp dùng để thay thế nút.

Mã đoạn sau thay thế phần tử nút đầu tiên của <book>:

Mô hình

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.documentElement;
// Tạo một phần tử nút book, phần tử nút title và phần tử văn bản
newNode=xmlDoc.createElement("book");
newTitle=xmlDoc.createElement("title");
newText=xmlDoc.createTextNode("Một cuốn sách mới");
// Thêm phần tử văn bản vào phần tử nút title
newTitle.appendChild(newText);
// Thêm phần tử nút này vào phần tử nút book
newNode.appendChild(newTitle);
y=xmlDoc.getElementsByTagName("book")[0];
// Thay thế phần tử nút mới vào phần tử nút đầu tiên của book
x.replaceChild(newNode,y);

Thử ngay

Giải thích ví dụ:

  1. ví dụ: đặt vào được xmlDoc trong
  2. Tạo phần tử nút mới <book>
  3. Tạo phần tử nút mới <title>
  4. Tạo phần tử văn bản mới chứa văn bản "Một cuốn sách mới"
  5. Chuyển phần tử văn bản mới này vào phần tử nút mới <title>
  6. Chuyển phần tử nút mới <title> vào phần tử nút mới <book>
  7. Thay thế phần tử nút đầu tiên của <book> bằng phần tử nút <book> mới

Thay thế dữ liệu của phần tử văn bản

replaceData() Phương pháp dùng để thay thế dữ liệu của phần tử văn bản.

replaceData() Phương pháp có ba tham số:

  • offset - Điểm bắt đầu thay thế ký tự. Giá trị dịch chuyển bắt đầu từ số 0
  • length - Số ký tự cần thay thế
  • string - Chữ chuỗi cần chèn

Mô hình

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
x.replaceData(0,4,"Một cuốn sách mới");

Thử ngay

Giải thích ví dụ:

  1. ví dụ: đặt vào được xmlDoc trong
  2. Lấy văn bản của nút văn bản đầu tiên <title>
  3. Sử dụng replaceData() Phương pháp sẽ thay thế tám ký tự đầu tiên của phần tử văn bản bằng "Một cuốn sách mới"

Sử dụng thuộc tính nodeValue thay thế

Sử dụng nodeValue Thuộc tính dễ dàng thay thế dữ liệu của phần tử văn bản.

Mã đoạn sau sẽ thay thế giá trị của phần tử văn bản đầu tiên trong <title> bằng "Một cuốn sách mới":

Mô hình

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
x.nodeValue="Một cuốn sách mới";

Thử ngay

Giải thích ví dụ:

  1. ví dụ: đặt vào được xmlDoc trong
  2. Lấy văn bản của nút văn bản đầu tiên <title>
  3. Sử dụng nodeValue Thuộc tính để thay đổi văn bản của nút văn bản

Bạn có thể đọc thêm về việc thay đổi giá trị nút trong chương "Thay đổi nút".