XML DOM 노드 복사하기

예제

아래의 예제는 XML 파일을 사용합니다 books.xml

함수 loadXMLDoc()외부 JavaScript에서 XML 파일을 로드하는 데 사용됩니다。

노드를 복사하고 기존 노드에 추가
이 예제에서는 cloneNode()를 사용하여 노드를 복사하고 XML 문서의 루트 노드에 추가합니다。

노드를 복사

cloneNode() 메서드는 지정된 노드의 복사본을 생성합니다。

cloneNode() 메서드는 하나의 매개변수( true 또는 false)를 가지고 있습니다. 이 매개변수는 복사된 노드가 원 노드의 모든 속성과 자식 노드를 포함하는지를 지시합니다。

아래의 코드 프래그먼트는 첫 번째 <book> 노드를 복사하여 문서의 루트 노드에 추가합니다:

xmlDoc=loadXMLDoc("books.xml");
oldNode=xmlDoc.getElementsByTagName('book')[0];
newNode=oldNode.cloneNode(true);
xmlDoc.documentElement.appendChild(newNode);
//모든 제목 출력
y=xmlDoc.getElementsByTagName("title");
for (i=0;i<y.length;i++)
{
document.write(y[i].childNodes[0].nodeValue);
document.write("<br />");
}

출력:

Harry Potter
Everyday Italian
XQuery Kick Start
Learning XML
Harry Potter

예제 설명:

  1. 사용하여 loadXMLDoc() "을 추가합니다books.xml" xmlDoc에 "
  2. 복사할 노드를 가져옵니다
  3. cloneNode 메서드를 사용하여 노드를 "newNode"에 복사
  4. XML 문서의 루트 노드에 새 노드를 추가
  5. 문서에서 모든 book의 title을 출력

TIY