XML DOM 노드 대체

replaceChild() 메서드는 지정된 노드를 대체합니다

nodeValue 속성은 텍스트 노드 내의 텍스트를 대체합니다

요소 노드를 대체합니다

replaceChild() 메서드는 노드를 대체합니다.

아래의 코드 스니펫은 첫 번째 <book> 요소를 대체합니다:

예제

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.documentElement;
// book 요소, title 요소 및 텍스트 노드를 생성합니다
newNode=xmlDoc.createElement("book");
newTitle=xmlDoc.createElement("title");
newText=xmlDoc.createTextNode("一本新书");
// 텍스트 노드를 title 요소에 추가합니다
newTitle.appendChild(newText);
// 이 title 요소를 book 요소에 추가합니다
newNode.appendChild(newTitle);
y=xmlDoc.getElementsByTagName("book")[0];
// 새로운 노드로 첫 번째 book 요소를 대체합니다
x.replaceChild(newNode,y);

x.nodeValue="一本新书";

직접 시도해 보세요

  1. 예제 설명: books.xml 로 로드됩니다 xmlDoc
  2. 새로운 요소 노드 <book>를 생성합니다
  3. 새로운 요소 노드 <title>를 생성합니다
  4. 텍스트 "一本新书"을 포함하는 새로운 텍스트 노드를 생성합니다
  5. 이 새로운 텍스트 노드를 새로운 요소 노드 <title>에 추가합니다
  6. 이 새로운 요소 노드 <title>를 새로운 요소 노드 <book>에 추가합니다
  7. 첫 번째 <book> 요소 노드를 새로운 <book> 요소 노드로 대체합니다

텍스트 노드 내의 데이터를 대체합니다

replaceData() 메서드는 텍스트 노드 내의 데이터를 대체합니다.

replaceData() 메서드는 세 가지 매개변수를 가집니다:

  • offset - 문자를 대체할 시작 위치. 이동 값은 0에서 시작합니다
  • length - 대체할 문자 수
  • string - 삽입할 문자열

예제

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
x.replaceData(0,4,"一本新书");

x.nodeValue="一本新书";

직접 시도해 보세요

  1. 예제 설명: books.xml 로 로드됩니다 xmlDoc
  2. 첫 번째 <title> 요소 노드의 텍스트 노드를 가져오기
  3. 사용 replaceData() 메서드는 텍스트 노드의 앞八字를 "一本新书"으로 대체합니다

nodeValue 속성 대신 사용합니다

사용 nodeValue 속성을 사용하여 텍스트 노드 내의 데이터를 대체하기 쉽습니다.

아래의 코드 스니펫은 첫 번째 <title> 요소의 텍스트 노드 값을 "一本新书"으로 대체합니다:

예제

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
x.nodeValue="一本新书";

x.nodeValue="一本新书";

직접 시도해 보세요

  1. 예제 설명: books.xml 로 로드됩니다 xmlDoc
  2. 첫 번째 <title> 요소 노드의 텍스트 노드를 가져오기
  3. 사용 nodeValue 텍스트 노드의 텍스트를 변경하는 속성

변경할 노드의 값에 대해 더 많은 내용을 "노드 변경" 장에서 읽을 수 있습니다.