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>
| ← 이전 | 홈 |