XML DOM 튜토리얼로그인
XML DOM 튜토리얼
작가:php.cn  업데이트 시간:2022-04-13 15:27:56

DOM 대체 노드


XML DOM 노드 교체


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

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


tryitimg.gif사용해 보기 - 예제


다음 예제에서는 XML 파일을 사용합니다. 책 .xml.
외부 JavaScript에 있는 loadXMLDoc() 함수는 XML 파일을 로드하는 데 사용됩니다.

요소 노드 바꾸기
이 예제에서는 첫 번째 <book> 노드를 바꾸기 위해 replacementChild()를 사용합니다.

텍스트 노드의 데이터 바꾸기
이 예에서는 nodeValue 속성을 사용하여 텍스트 노드의 데이터를 바꿉니다.


요소 노드 교체

replaceChild() 메서드는 노드를 교체하는 데 사용됩니다.

다음 코드 조각은 첫 번째 <book> 요소를 대체합니다:

Instance

<!DOCTYPE html>
<html>
<head>
<script src="loadxmldoc.js"> 
</script>
</head>
<body>

<script>
xmlDoc=loadXMLDoc("books.xml");

x=xmlDoc.documentElement;

//create a book element, title element and a text node
newNode=xmlDoc.createElement("book");
newTitle=xmlDoc.createElement("title");
newText=xmlDoc.createTextNode("A Notebook");

//add the text node to the title node,
newTitle.appendChild(newText);
//add the title node to the book node
newNode.appendChild(newTitle);

y=xmlDoc.getElementsByTagName("book")[0]
//replace the first book node with the new node
x.replaceChild(newNode,y);

z=xmlDoc.getElementsByTagName("title");
for (i=0;i<z.length;i++)
{
document.write(z[i].childNodes[0].nodeValue);
document.write("<br>");
}
</script>
</body>
</html>

인스턴스 실행»

온라인 예제를 보려면 "예제 실행" 버튼을 클릭하세요

예제 설명:

  1. loadXMLDoc()을 사용하여 "books" 로드 .xml" xmlDoc에서

  2. 은 새로운 요소 노드 <book>

  3. 을 생성하고 새로운 요소 노드 <title><🎜를 생성합니다. >

  4. "노트북"이라는 텍스트를 사용하여 새 텍스트 노드를 만듭니다.

  5. 이 새 텍스트 노드를 새 요소 노드

  6. 이 새 요소 노드 <title>를 새 요소 노드 <book>에 추가합니다.

  7. 첫 번째 <book> 새로운 <book> 요소 노드


텍스트 노드의 데이터 바꾸기

replaceData() 메서드는 텍스트 노드의 데이터를 바꾸는 데 사용됩니다.

replaceData() 메서드에는 세 가지 매개 변수가 있습니다.

  • offset - 문자 교체를 시작할 위치입니다. 오프셋 값은 0부터 시작합니다.

  • length - 대체할 문자 수

  • string - 삽입할 문자열

인스턴스

<!DOCTYPE html>
<html>
<head>
<script src="loadxmldoc.js"> 
</script>
</head>
<body>

<script>
xmlDoc=loadXMLDoc("books.xml");

x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
document.write(x.nodeValue);
x.replaceData(0,8,"Easy");

document.write("<br>");
document.write(x.nodeValue);

</script>
</body>
</html>

인스턴스 실행»온라인 인스턴스를 보려면 "인스턴스 실행" 버튼을 클릭하세요

예제 설명:

  1. loadXMLDoc()을 사용하여 "books.xml"을 xmlDoc에 로드합니다.

  2. 첫 번째 < ; 요소 노드

  3. 의 텍스트 노드는 replacementData 메서드를 사용하여 텍스트 노드의 처음 8자를 "Easy"


로 바꿉니다.

대신 nodeValue 속성을 사용하세요. 텍스트 노드의 데이터를 nodeValue 속성으로 바꾸는 것이 더 쉽습니다.

다음 코드 조각은 첫 번째 <title> 요소의 텍스트 노드 값을 "Easy Italian"으로 바꿉니다.

<!DOCTYPE html>
<html>
<head>
<script src="loadxmldoc.js"> 
</script>
</head>
<body>

<script>
xmlDoc=loadXMLDoc("books.xml");

x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
document.write(x.nodeValue);
x.nodeValue="Easy Italian";

document.write("<br>");
document.write(x.nodeValue);

</script>
</body>
</html>

인스턴스 실행»

온라인 인스턴스를 보려면 "인스턴스 실행" 버튼을 클릭하세요

인스턴스 설명:

  1. loadXMLDoc() 사용 xmlDoc에 "books.xml" 로드

  2. 첫 번째 <title> 요소 노드의 텍스트 노드 가져오기

  3. nodeValue 속성을 사용하여 이 텍스트 노드의 텍스트를 변경합니다.

노드 변경 장에서 노드 값 변경에 대한 자세한 내용을 읽을 수 있습니다.