Xóa nút DOM XML

removeChild() Phương pháp xóa nút cụ thể.

removeAttribute() Phương pháp xóa thuộc tính cụ thể.

Xóa phần tử nút

removeChild() Phương pháp xóa nút cụ thể.

Khi một nút bị xóa, tất cả các nút con của nó cũng sẽ bị xóa.

Mã này sẽ xóa phần tử <book> đầu tiên từ xml đã được tải lên:

ví dụ

y = xmlDoc.getElementsByTagName("book")[0];
xmlDoc.documentElement.removeChild(y);

Thử trực tiếp

Ví dụ giải thích:

  1. Giả sử books.xml đã được tải lên xmlDoc trong
  2. đặt biến y đặt thành phần tử cần xóa
  3. Sử dụng removeChild() Phương pháp xóa phần tử từ nút cha của phần tử này

Xóa chính mình - Xóa nút hiện tại

removeChild() Là phương pháp duy nhất có thể xóa nút cụ thể.

Khi bạn di chuyển đến nút cần xóa, bạn có thể sử dụng parentNode thuộc tính và removeChild() Cách để xóa nút này:

ví dụ

x = xmlDoc.getElementsByTagName("book")[0];
x.parentNode.removeChild(x);

Thử trực tiếp

Ví dụ giải thích:

  1. Giả sử books.xml đã được tải lên xmlDoc trong
  2. đặt biến y đặt thành phần tử cần xóa
  3. Sử dụng parentNode thuộc tính và removeChild() phương pháp để xóa nút phần tử

xóa nút văn bản

removeChild() phương pháp cũng có thể được sử dụng để xóa nút văn bản:

ví dụ

x = xmlDoc.getElementsByTagName("title")[0];
y = x.childNodes[0];
x.removeChild(y);

Thử trực tiếp

Ví dụ giải thích:

  1. Giả sử books.xml đã được tải lên xmlDoc trong
  2. đặt biến x thành nút phần tử đầu tiên title
  3. đặt biến y đặt thành nút văn bản cần xóa
  4. Sử dụng removeChild() phương pháp để xóa nút từ nút cha

chỉ sử dụng removeChild() trường hợp xóa văn bản từ nút không phổ biến. Bạn có thể sử dụng thuộc tính nodeValue để thay thế. Xem đoạn tiếp theo.

xóa nút văn bản

nodeValue thuộc tính có thể được sử dụng để thay đổi hoặc xóa giá trị của nút văn bản:

ví dụ

xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue = "";

Thử trực tiếp

Ví dụ giải thích:

  1. Giả sử books.xml đã được tải lên xmlDoc trong
  2. lấy nút con đầu tiên của phần tử title đầu tiên
  3. Sử dụng nodeValue thuộc tính để xóa văn bản trong nút văn bản

xóa nút thuộc tính dựa trên tên

removeAttribute() phương pháp được sử dụng để xóa nút thuộc tính dựa trên tên.

ví dụ 1

mã dưới đây xóa thuộc tính "category" của phần tử <book> đầu tiên:

x = xmlDoc.getElementsByTagName("book");
x[0].removeAttribute("category");

Thử trực tiếp

Ví dụ giải thích:

  1. Giả sử books.xml đã được tải lên xmlDoc trong
  2. Sử dụng getElementsByTagName() để lấy nút book
  3. xóa thuộc tính "category" của phần tử đầu tiên <book>

ví dụ 2

vòng lặp và xóa tất cả thuộc tính "category" của phần tử <book>:

for (i = 0; i < xLen; i++) {
    y = x.item(i);
    y.removeAttribute('category');
}

Thử trực tiếp

xóa nút thuộc tính dựa trên đối tượng

removeAttributeNode() phương pháp sử dụng đối tượng Node làm tham số để xóa nút thuộc tính.

mã dưới đây xóa tất cả các thuộc tính của phần tử <book>:

ví dụ

x = xmlDoc.getElementsByTagName("book");
for (i = 0; i < x.length; i++) {
    while (x[i].attributes.length > 0) {
        attnode = x[i].attributes[0];
        old_att = x[i].removeAttributeNode(attnode);
    }
}

Thử trực tiếp

Ví dụ giải thích:

  1. Giả sử books.xml đã được tải lên xmlDoc trong
  2. Sử dụng getElementsByTagName() Để lấy tất cả các nút book
  3. Kiểm tra mỗi yếu tố book có thuộc tính hay không
  4. Nếu có thuộc tính trong yếu tố book, hãy xóa thuộc tính đó