XML DOM 노드 대체

엘리먼트 노드 대체

replaceChild() 메서드는 특정 노드를 새 노드로 대체하는 데 사용된다.

텍스트 노드의 데이터 대체

replaceData() 메서드는 텍스트 노드의 데이터를 대체하는 데 사용되며, 세 개의 매개변수를 받는다.

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 newAddressNode = xmlDoc.createElement('address');
var textNode = xmlDoc.createTextNode('address2');
newAddressNode.appendChild(textNode);

var oldAddressNode = xmlDoc.getElementsByTagName("address")[0];
xmlDoc.documentElement.replaceChild(newAddressNode, oldAddressNode);

var phoneNumber = xmlDoc.getElementsByTagName("phone")[0].childNodes[0];
phoneNumber.replaceData(0, 5, '12345678');

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

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

<person>
    <name>name1</name>
    <address>address2</address>
    <phone>123456781</phone>
</person>

관련 수업

← 이전다음 →