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);
직접 시도해 보세요
- 예제 설명: books.xml 로 로드됩니다
xmlDoc
중 - 새로운 요소 노드 <book>를 생성합니다
- 새로운 요소 노드 <title>를 생성합니다
- 텍스트 "一本新书"을 포함하는 새로운 텍스트 노드를 생성합니다
- 이 새로운 텍스트 노드를 새로운 요소 노드 <title>에 추가합니다
- 이 새로운 요소 노드 <title>를 새로운 요소 노드 <book>에 추가합니다
- 첫 번째 <book> 요소 노드를 새로운 <book> 요소 노드로 대체합니다
텍스트 노드 내의 데이터를 대체합니다
replaceData()
메서드는 텍스트 노드 내의 데이터를 대체합니다.
replaceData()
메서드는 세 가지 매개변수를 가집니다:
- offset - 문자를 대체할 시작 위치. 이동 값은 0에서 시작합니다
- length - 대체할 문자 수
- string - 삽입할 문자열
예제
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("title")[0].childNodes[0]; x.replaceData(0,4,"一本新书");
직접 시도해 보세요
- 예제 설명: books.xml 로 로드됩니다
xmlDoc
중 - 첫 번째 <title> 요소 노드의 텍스트 노드를 가져오기
- 사용
replaceData()
메서드는 텍스트 노드의 앞八字를 "一本新书"으로 대체합니다
nodeValue 속성 대신 사용합니다
사용 nodeValue
속성을 사용하여 텍스트 노드 내의 데이터를 대체하기 쉽습니다.
아래의 코드 스니펫은 첫 번째 <title> 요소의 텍스트 노드 값을 "一本新书"으로 대체합니다:
예제
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("title")[0].childNodes[0]; x.nodeValue="一本新书";
직접 시도해 보세요
- 예제 설명: books.xml 로 로드됩니다
xmlDoc
중 - 첫 번째 <title> 요소 노드의 텍스트 노드를 가져오기
- 사용
nodeValue
텍스트 노드의 텍스트를 변경하는 속성
변경할 노드의 값에 대해 더 많은 내용을 "노드 변경" 장에서 읽을 수 있습니다.