replaceChild() 메서드는 특정 노드를 새 노드로 대체하는 데 사용된다.
replaceData() 메서드는 텍스트 노드의 데이터를 대체하는 데 사용되며, 세 개의 매개변수를 받는다.
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>
| ← 이전 | 홈 | 다음 → |