XML DOM 노드 제거

엘리먼트 노드 제거하기

removeChild() 메서드는 특정 노드를 제거하는 데 사용되며, 노드가 제거되면 그것의 자식 노드도 모두 제거된다.

속성 노드 제거하기

removeAttribute() 메서드는 이름을 기준으로 특정 속성을 제거하는 데 사용된다.

setAttributeNode() 메서드는 엘리먼트 노드에 속성 노드를 추가하는 데 사용된다.

XML DOM 노드 제거 예제

XML DOM 노드를 제거하는 예제는 다음과 같다.

var text="<person>";
text +=  "<name>name1</name>";
text +=  "<address street='street1' city='city1'>address1</address>";
text +=  "<phone>phone1</phone>";
text +=  "</person>";

if (window.DOMParser)
{
    parser=new DOMParser();
    xmlDoc=parser.parseFromString(text,"text/xml");
}
else // 인터넷 익스플로러
{
    xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
    xmlDoc.async=false;
    xmlDoc.loadXML(text); 
} 

var phoneNode = xmlDoc.getElementsByTagName("phone")[0];
phoneNode.parentNode.removeChild(phoneNode); 

var addressNode = xmlDoc.getElementsByTagName("address")[0];
addressNode.removeAttribute('city');

console.log((new XMLSerializer()).serializeToString(xmlDoc));

위 코드를 실행한 결과는 다음과 같다.

<person>
    <name>name1</name>
    <address street="street1">address1</address>
</person>

관련 수업

← 이전다음 →