insertBefore() 메서드는 특정 자식 노드 앞에 노드를 삽입하는 데 사용된다.
appendChild() 메서드는 기존 노드에 자식 노드를 추가하는 데 사용된다.
insertData() 메서드는 기존 텍스트 노드에 텍스트를 삽입하는 데 사용되며, 두 개의 매개변수를 받는다.
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 // Internet Explorer { xmlDoc=new ActiveXObject("Microsoft.XMLDOM"); xmlDoc.async=false; xmlDoc.loadXML(text); } var newAddressNode2 = xmlDoc.createElement('address'); var textNode2 = xmlDoc.createTextNode('address2'); newAddressNode2.appendChild(textNode2); var newAddressNode3 = xmlDoc.createElement('address'); var textNode3 = xmlDoc.createTextNode('address3'); newAddressNode3.appendChild(textNode3); var oldAddressNode = xmlDoc.getElementsByTagName("address")[0]; xmlDoc.documentElement.insertBefore(newAddressNode2, oldAddressNode); xmlDoc.documentElement.appendChild(newAddressNode3); oldAddressNode.childNodes[0].insertData(0, '1111 '); console.log((new XMLSerializer()).serializeToString(xmlDoc));
위 코드를 실행한 예제는 다음과 같다.
<person> <name>name1</name> <address>address2</address> <address city="city1" street="street1">1111 address1</address> <phone>phone1</phone> <address>address3</address> </person>
← 이전 | 홈 |