XML DOM 제거 노드
removeChild() 메소드는 지정된 노드를 제거합니다.
removeAttribute() 메소드는 지정된 속성을 제거합니다.
직접 해보십시오 - 예
예제에서는 XML 파일 books.xml 을 사용합니다 .
이 예제에서는 removeChild()를 사용하여 첫 번째 <book> 요소를 제거합니다.
이 예제에서는 parentNode 및 removeChild()를 사용하여 현재 <book> 요소를 제거합니다.
이 예제에서는 removeChild()를 사용하여 첫 번째 <title> 요소에서 텍스트 노드를 제거합니다.
이 예제에서는 nodeValue() 속성을 사용하여 첫 번째 <title> 요소의 텍스트 노드를 지웁니다.
이 예제에서는 removeAttribute()를 사용하여 첫 번째 <book> 요소에서 "category" 속성을 제거합니다.
이 예제에서는 removeAttributeNode()를 사용하여 모든 <book> 요소에서 모든 속성을 제거합니다.
요소 노드 제거
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를 첫 번째 제목 요소 노드로 설정합니다.
- 변수 y를 제거할 텍스트 노드로 설정합니다.
- 부모 노드에서 removeChild() 메서드를 사용하여 요소 노드를 제거합니다.
노드에서 텍스트를 제거하기 위해 removeChild()를 사용하는 것은 그리 일반적이지 않습니다. 대신 nodeValue 속성을 사용할 수 있습니다. 다음 단락을 참조하십시오.
텍스트 노드 지우기
nodeValue 속성을 사용하여 텍스트 노드의 값을 변경할 수 있습니다 .
예시
xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue = "";
설명된 예:
- " books.xml "이 xmlDoc에 로드 되었다고 가정합니다.
- 첫 번째 제목 요소의 첫 번째 자식 노드를 가져옵니다.
- nodeValue 속성을 사용하여 텍스트 노드에서 텍스트 지우기
이름으로 속성 노드 제거
removeAttribute( ) 메소드 는 이름으로 속성 노드를 제거합니다.
예: removeAttribute('카테고리')
이 코드는 첫 번째 <book> 요소에서 "category" 속성을 제거합니다.
예시
x = xmlDoc.getElementsByTagName("book");
x[0].removeAttribute("category");
설명된 예:
- " books.xml "이 xmlDoc에 로드 되었다고 가정합니다.
- getElementsByTagName()을 사용하여 책 노드 가져오기
- 첫 번째 book 요소 노드에서 "category" 속성 제거
모든 <book> 요소의 "category" 속성을 반복하여 제거합니다.
개체별 속성 노드 제거
removeAttributeNode( ) 메소드 는 노드 객체를 매개변수로 사용하여 속성 노드를 제거합니다.
예: removeAttributeNode(x)
이 코드는 모든 <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 요소에 속성이 있는 동안 속성을 제거합니다.