XML DOM Xóa nút
Phương thức RemoveChild() loại bỏ một nút được chỉ định.
Phương thức RemoveAttribution() loại bỏ một thuộc tính được chỉ định.
Xóa một nút phần tử
Phương thức RemoveChild() loại bỏ một nút được chỉ định.
Khi một nút bị xóa, tất cả các nút con của nó cũng bị xóa.
Mã này sẽ xóa phần tử <book> đầu tiên khỏi xml đã tải:
Ví dụ
y = xmlDoc.getElementsByTagName("book")[0];
xmlDoc.documentElement.removeChild(y);
Hãy tự mình thử »Ví dụ giải thích:
- Giả sử books.xml được tải vào xmlDoc
- Đặt biến y làm nút phần tử cần loại bỏ
- Loại bỏ nút phần tử bằng cách sử dụng phương thức RemoveChild() khỏi nút cha
Xóa bản thân - Xóa nút hiện tại
Phương thức RemoveChild() là cách duy nhất để loại bỏ một nút được chỉ định.
Khi bạn đã điều hướng đến nút muốn xóa, bạn có thể xóa nút đó bằng thuộc tính parentNode và phương thức RemoveChild():
Ví dụ giải thích:
- Giả sử books.xml được tải vào xmlDoc
- Đặt biến y làm nút phần tử cần loại bỏ
- Loại bỏ nút phần tử bằng cách sử dụng thuộc tính parentNode và phương thức RemoveChild()
Xóa nút văn bản
Phương thức RemoveChild() 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);
Hãy tự mình thử »Ví dụ giải thích:
- Giả sử books.xml được tải vào xmlDoc
- Đặt biến x làm nút phần tử tiêu đề đầu tiên
- Đặt biến y làm nút văn bản cần xóa
- Loại bỏ nút phần tử bằng cách sử dụng phương thức RemoveChild() khỏi nút cha
Việc sử dụng RemoveChild() chỉ để xóa văn bản khỏi một nút là không phổ biến lắm. Thuộc tính nodeValue có thể được sử dụng thay thế. Xem đoạn tiếp theo.
Xóa nút văn bản
Thuộc tính nodeValue có thể được sử dụng để thay đổi giá trị của nút văn bản:
Ví dụ giải thích:
- Giả sử books.xml được tải vào xmlDoc
- Lấy nút con đầu tiên của phần tử tiêu đề đầu tiên.
- Sử dụng thuộc tính nodeValue để xóa văn bản khỏi nút văn bản
Xóa nút thuộc tính theo tên
Phương thức RemoveAttribution( ) loại bỏ một nút thuộc tính theo tên của nó.
Ví dụ: RemoveAttribution('category')
Mã này loại bỏ thuộc tính "category" trong phần tử <book> đầu tiên:
Ví dụ giải thích:
- Giả sử books.xml được tải vào xmlDoc
- Sử dụng getElementsByTagName() để lấy nút sách
- Xóa thuộc tính "danh mục" ở nút thành phần sách đầu tiên
Lặp lại và xóa thuộc tính "danh mục" của tất cả các phần tử <book>: Hãy tự mình thử
Xóa các nút thuộc tính theo đối tượng
Phương thức RemoveAttributionNode( ) loại bỏ một nút thuộc tính, sử dụng đối tượng nút làm tham số.
Ví dụ: RemoveAttributionNode(x)
Mã này loại bỏ tất cả các thuộc tính của tất cả các 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);
}
}
Hãy tự mình thử »Ví dụ giải thích:
- Giả sử books.xml được tải vào xmlDoc
- Sử dụng getElementsByTagName() để lấy tất cả các nút sách
- Đối với mỗi thành phần sách, hãy kiểm tra xem có thuộc tính nào không
- Khi có các thuộc tính trong thành phần sách, hãy xóa thuộc tính đó