XML DOM 노드 제거
removeChild()
메서드는 지정된 노드를 제거합니다。
removeAttribute()
메서드는 지정된 속성을 제거합니다。
요소 노드 제거
removeChild()
메서드는 지정된 노드를 제거합니다。
노드가 제거될 때, 그 노드의 모든 자식 노드도 제거됩니다。
이 코드는 로드된 xml에서 첫 번째 <book> 요소를 제거합니다:
예제
y = xmlDoc.getElementsByTagName("book")[0]; xmlDoc.documentElement.removeChild(y);
예시 설명:
- 추정 books.xml 이미 로드되었습니다
xmlDoc
중 - 변수를
y
를 제거할 요소 노드로 설정합니다 - 사용
removeChild()
메서드는 부모 노드에서 요소 노드를 제거합니다
자신을 제거 - 현재 노드를 제거
removeChild()
지정된 노드를 제거할 수 있는 유일한 메서드입니다。
삭제할 노드로 이동할 때 사용할 수 있습니다 parentNode
속성과 removeChild()
메서드를 사용하여 이 노드를 제거하세요:
예제
x = xmlDoc.getElementsByTagName("book")[0]; x.parentNode.removeChild(x);
예시 설명:
- 추정 books.xml 이미 로드되었습니다
xmlDoc
중 - 변수를
y
를 제거할 요소 노드로 설정합니다 - 사용
parentNode
속성과removeChild()
요소 노드를 제거하는 메서드를 사용하여
텍스트 노드를 제거하는 메서드
removeChild()
메서드는 텍스트 노드를 제거하는 데도 사용될 수 있습니다:
예제
x = xmlDoc.getElementsByTagName("title")[0]; y = x.childNodes[0]; x.removeChild(y);
예시 설명:
- 추정 books.xml 이미 로드되었습니다
xmlDoc
중 - 변수를
x
첫 번째 title 요소 노드로 설정합니다 - 변수를
y
를 제거할 텍스트 노드로 설정합니다 - 사용
removeChild()
메서드를 사용하여 부모 노드에서 해당 노드를 제거합니다
만약 removeChild()
노드에서 텍스트를 제거하는 경우는 드문 경우입니다. nodeValue 속성을 대신 사용할 수 있습니다. 다음 단계를 참조하십시오.
텍스트 노드를 비우기
nodeValue
속성은 텍스트 노드의 값을 변경하거나 비우는 데 사용될 수 있습니다:
예제
xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue = "";
예시 설명:
- 추정 books.xml 이미 로드되었습니다
xmlDoc
중 - 첫 번째 title 요소의 첫 번째 자식 노드를 가져옵니다
- 사용
nodeValue
속성을 통해 텍스트 노드의 텍스트를 지우는 데 사용됩니다
이름에 따라 속성 노드를 제거합니다
removeAttribute()
이 메서드는 이름에 따라 속성 노드를 제거하는 데 사용됩니다.
예제 1
아래 코드는 첫 번째 <book> 요소에서 "category" 속성을 제거합니다:
x = xmlDoc.getElementsByTagName("book"); x[0].removeAttribute("category");
예시 설명:
- 추정 books.xml 이미 로드되었습니다
xmlDoc
중 - 사용
getElementsByTagName()
book 노드를 가져오기 위해 - 첫 번째 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); } }
예시 설명:
- 추정 books.xml 이미 로드되었습니다
xmlDoc
중 - 사용
getElementsByTagName()
모든 book 노드를 가져오기 위해 - 각 book 요소에 속성이 있는지 확인합니다
- book 요소에 속성이 있으면 해당 속성을 제거합니다