XML DOM - Xóa nút

Trong chương này, chúng ta sẽ nghiên cứu về thao tác Nút Xóa DOM trong XML . Thao tác loại bỏ nút sẽ xóa nút được chỉ định khỏi tài liệu. Thao tác này có thể được thực hiện để loại bỏ các nút như nút văn bản, nút phần tử hoặc nút thuộc tính.

Sau đây là các phương pháp được sử dụng để loại bỏ hoạt động của nút:

  • removeChild()

  • removeAttribute()

removeChild ()

Phương thức removeChild () loại bỏ nút con được chỉ định bởi oldChild khỏi danh sách các nút con và trả về nó. Loại bỏ một nút con tương đương với việc loại bỏ một nút văn bản. Do đó, xóa một nút con sẽ xóa nút văn bản được liên kết với nó.

Cú pháp

Cú pháp để sử dụng removeChild () như sau:

Node removeChild(Node oldChild) throws DOMException

Ở đâu,

  • oldChild - là nút đang bị xóa.

  • Phương thức này trả về nút bị xóa.

Ví dụ - Xóa nút hiện tại

Ví dụ sau (removecurrentnode_example.htm) phân tích cú pháp một tài liệu XML ( node.xml ) thành một đối tượng XML DOM và xóa nút được chỉ định <ContactNo> khỏi nút cha.

<!DOCTYPE html>
<html>
   <head>
      <script>
         function loadXMLDoc(filename) {
            if (window.XMLHttpRequest) {
               xhttp = new XMLHttpRequest();
            } else // code for IE5 and IE6 {
               xhttp = new ActiveXObject("Microsoft.XMLHTTP");
            }
            xhttp.open("GET",filename,false);
            xhttp.send();
            return xhttp.responseXML;
         }
      </script>
   </head>
   <body>
      <script>
         xmlDoc = loadXMLDoc("/dom/node.xml");

         document.write("<b>Before remove operation, total ContactNo elements: </b>");
         document.write(xmlDoc.getElementsByTagName("ContactNo").length);
         document.write("<br>");

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

         document.write("<b>After remove operation, total ContactNo elements: </b>");
         document.write(xmlDoc.getElementsByTagName("ContactNo").length);
      </script>
   </body>
</html>

Trong ví dụ trên -

  • x = xmlDoc.getElementsByTagName ("ContactNo") [0] nhận phần tử <ContactNo> được lập chỉ mục ở 0.

  • x.parentNode.removeChild (x); loại bỏ phần tử <ContactNo> được lập chỉ mục ở 0 khỏi nút cha.

Chấp hành

Lưu tệp này dưới dạng removecurrentnode_example.htm trên đường dẫn máy chủ (tệp này và node.xml phải nằm trên cùng một đường dẫn trong máy chủ của bạn). Chúng tôi nhận được kết quả sau:

Before remove operation, total ContactNo elements: 3
After remove operation, total ContactNo elements: 2

Ví dụ - Xóa nút văn bản

Ví dụ sau (removetextNode_example.htm) phân tích cú pháp một tài liệu XML ( node.xml ) thành một đối tượng XML DOM và loại bỏ nút con được chỉ định <FirstName>.

<!DOCTYPE html>
<html>
   <head>
      <script>
         function loadXMLDoc(filename) {
            if (window.XMLHttpRequest) {
               xhttp = new XMLHttpRequest();
            } else // code for IE5 and IE6 {
                xhttp = new ActiveXObject("Microsoft.XMLHTTP");
            }
            xhttp.open("GET",filename,false);
            xhttp.send();
            return xhttp.responseXML;
         }
      </script>
   </head>
   <body>
      <script>
         xmlDoc = loadXMLDoc("/dom/node.xml");

         x = xmlDoc.getElementsByTagName("FirstName")[0];

         document.write("<b>Text node of child node before removal is:</b> ");
         document.write(x.childNodes.length);
         document.write("<br>");

         y = x.childNodes[0];
         x.removeChild(y);
         document.write("<b>Text node of child node after removal is:</b> ");
         document.write(x.childNodes.length);

      </script>
   </body>
</html>

Trong ví dụ trên -

  • x = xmlDoc.getElementsByTagName ("Tên đầu tiên") [0]; - lấy phần tử đầu tiên <Tên đầu tiên> đến x được lập chỉ mục ở 0.

  • y = x.childNodes [0]; - trong dòng này, y giữ nút con cần loại bỏ.

  • x.removeChild (y); - loại bỏ nút con được chỉ định.

Chấp hành

Lưu tệp này dưới dạng removetextNode_example.htm trên đường dẫn máy chủ (tệp này và node.xml phải nằm trên cùng một đường dẫn trong máy chủ của bạn). Chúng tôi nhận được kết quả sau:

Text node of child node before removal is: 1
Text node of child node after removal is: 0

removeAttribute ()

Phương thức removeAttribute () loại bỏ một thuộc tính của một phần tử theo tên.

Cú pháp

Cú pháp sử dụng removeAttribute () như sau:

void removeAttribute(java.lang.String name) throws DOMException

Ở đâu,

  • name - là tên của thuộc tính cần loại bỏ.

Thí dụ

Ví dụ sau (removeelementattribute_example.htm) phân tích cú pháp một tài liệu XML ( node.xml ) thành một đối tượng XML DOM và loại bỏ nút thuộc tính đã chỉ định.

<!DOCTYPE html>
<html>
   <head>
      <script>
         function loadXMLDoc(filename) {
            if (window.XMLHttpRequest) {
               xhttp = new XMLHttpRequest();
            } else // code for IE5 and IE6 {
                xhttp = new ActiveXObject("Microsoft.XMLHTTP");
            }
            xhttp.open("GET",filename,false);
            xhttp.send();
            return xhttp.responseXML;
         }
      </script>
   </head>
   <body>

      <script>
         xmlDoc = loadXMLDoc("/dom/node.xml");

         x = xmlDoc.getElementsByTagName('Employee');

         document.write(x[1].getAttribute('category'));
         document.write("<br>");

         x[1].removeAttribute('category');

         document.write(x[1].getAttribute('category'));

      </script>
   </body>
</html>

Trong ví dụ trên -

  • document.write (x [1] .getAttribute ('danh mục')); - giá trị của danh mục thuộc tính được lập chỉ mục ở vị trí đầu tiên được gọi.

  • x [1] .removeAttribute ('danh mục'); - loại bỏ giá trị thuộc tính.

Chấp hành

Lưu tệp này dưới dạng removeelementattribute_example.htm trên đường dẫn máy chủ (tệp này và node.xml phải nằm trên cùng một đường dẫn trong máy chủ của bạn). Chúng tôi nhận được kết quả sau:

Non-Technical
null