XML DOM 노드 제거

removeChild() 메서드는 지정된 노드를 제거합니다。

removeAttribute() 메서드는 지정된 속성을 제거합니다。

요소 노드 제거

removeChild() 메서드는 지정된 노드를 제거합니다。

노드가 제거될 때, 그 노드의 모든 자식 노드도 제거됩니다。

이 코드는 로드된 xml에서 첫 번째 <book> 요소를 제거합니다:

예제

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

직접 시도해 보세요

예시 설명:

  1. 추정 books.xml 이미 로드되었습니다 xmlDoc
  2. 변수를 y 를 제거할 요소 노드로 설정합니다
  3. 사용 removeChild() 메서드는 부모 노드에서 요소 노드를 제거합니다

자신을 제거 - 현재 노드를 제거

removeChild() 지정된 노드를 제거할 수 있는 유일한 메서드입니다。

삭제할 노드로 이동할 때 사용할 수 있습니다 parentNode 속성과 removeChild() 메서드를 사용하여 이 노드를 제거하세요:

예제

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

직접 시도해 보세요

예시 설명:

  1. 추정 books.xml 이미 로드되었습니다 xmlDoc
  2. 변수를 y 를 제거할 요소 노드로 설정합니다
  3. 사용 parentNode 속성과 removeChild() 요소 노드를 제거하는 메서드를 사용하여

텍스트 노드를 제거하는 메서드

removeChild() 메서드는 텍스트 노드를 제거하는 데도 사용될 수 있습니다:

예제

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

직접 시도해 보세요

예시 설명:

  1. 추정 books.xml 이미 로드되었습니다 xmlDoc
  2. 변수를 x 첫 번째 title 요소 노드로 설정합니다
  3. 변수를 y 를 제거할 텍스트 노드로 설정합니다
  4. 사용 removeChild() 메서드를 사용하여 부모 노드에서 해당 노드를 제거합니다

만약 removeChild() 노드에서 텍스트를 제거하는 경우는 드문 경우입니다. nodeValue 속성을 대신 사용할 수 있습니다. 다음 단계를 참조하십시오.

텍스트 노드를 비우기

nodeValue 속성은 텍스트 노드의 값을 변경하거나 비우는 데 사용될 수 있습니다:

예제

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

직접 시도해 보세요

예시 설명:

  1. 추정 books.xml 이미 로드되었습니다 xmlDoc
  2. 첫 번째 title 요소의 첫 번째 자식 노드를 가져옵니다
  3. 사용 nodeValue 속성을 통해 텍스트 노드의 텍스트를 지우는 데 사용됩니다

이름에 따라 속성 노드를 제거합니다

removeAttribute() 이 메서드는 이름에 따라 속성 노드를 제거하는 데 사용됩니다.

예제 1

아래 코드는 첫 번째 <book> 요소에서 "category" 속성을 제거합니다:

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

직접 시도해 보세요

예시 설명:

  1. 추정 books.xml 이미 로드되었습니다 xmlDoc
  2. 사용 getElementsByTagName() book 노드를 가져오기 위해
  3. 첫 번째 book 요소 노드에서 "category" 속성을 제거합니다

예제 2

모든 <book> 요소의 "category" 속성을 순회하며 제거합니다:

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

직접 시도해 보세요

객체에 따라 속성 노드를 제거합니다

removeAttributeNode() Node 객체를 매개변수로 사용하여 속성 노드를 제거하는 방법을 통해 메서드가 사용됩니다.

아래 코드는 모든 <book> 요소의 모든 속성을 제거합니다:

예제

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);
    }
}

직접 시도해 보세요

예시 설명:

  1. 추정 books.xml 이미 로드되었습니다 xmlDoc
  2. 사용 getElementsByTagName() 모든 book 노드를 가져오기 위해
  3. 각 book 요소에 속성이 있는지 확인합니다
  4. book 요소에 속성이 있으면 해당 속성을 제거합니다