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

DOM 삭제 노드


XML DOM 노드 삭제


removeChild() 메소드는 지정된 노드를 삭제합니다.

removeAttribute() 메소드는 지정된 속성을 삭제합니다.



tryitimg.gif시도해 보기 - 예

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

요소 노드 삭제
이 예에서는 RemoveChild()를 사용하여 첫 번째 <book> 요소를 삭제합니다.

현재 요소 노드 삭제
이 예에서는 parentNode 및 RemoveChild()를 사용하여 현재 <book> 요소를 삭제합니다.

텍스트 노드 삭제
이 예에서는 RemoveChild()를 사용하여 첫 번째 <title> 요소의 텍스트 노드를 삭제합니다.

텍스트 노드의 텍스트 지우기
이 예에서는 nodeValue() 속성을 사용하여 첫 번째 <title> 요소의 텍스트 노드를 지웁니다.

이름별 속성 제거
이 예에서는 첫 번째 <book> 요소에서 "category" 속성을 제거하기 위해 RemoveAttribute()를 사용합니다.

객체 기반 속성 제거
이 예에서는 모든 <book> 요소에서 모든 속성을 제거하기 위해 RemoveAttributeNode()를 사용합니다.


요소 노드 삭제

removeChild() 메서드는 지정된 노드를 삭제합니다.

노드가 삭제되면 모든 하위 노드도 삭제됩니다.

다음 코드 조각은 로드된 xml에서 첫 번째 <book> 요소를 제거합니다.

<!DOCTYPE html>
<html>
<head>
<script src="loadxmldoc.js"> 
</script>
</head>
<body>
<script>
xmlDoc=loadXMLDoc("books.xml");

document.write("Number of book nodes: ");
document.write(xmlDoc.getElementsByTagName('book').length);
document.write("<br>");

y=xmlDoc.getElementsByTagName("book")[0];
xmlDoc.documentElement.removeChild(y);

document.write("Number of book nodes after removeChild(): ");
document.write(xmlDoc.getElementsByTagName('book').length);

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

예제 실행»

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

예제 설명:

  1. loadXMLDoc( )를 "books.xml"로 로드 xmlDoc

  2. 삭제할 요소 노드에 y 변수를 설정합니다.

  3. removeChild()를 사용하여 상위 노드의 메소드 요소 노드 삭제


자신 삭제 - 현재 노드 삭제

RemoveChild() 메소드는 지정된 노드를 삭제할 수 있는 유일한 메소드입니다. .

삭제해야 하는 노드로 이동한 경우 parentNode 특성과 RemoveChild() 메서드를 사용하여 이 노드를 삭제할 수 있습니다.

Instance

<!DOCTYPE html>
<html>
<head>
<script src="loadxmldoc.js"> 
</script>
</head>
<body>
<script>
xmlDoc=loadXMLDoc("books.xml");

document.write("Number of book nodes before removeChild(): ");
document.write(xmlDoc.getElementsByTagName("book").length);
document.write("<br>");

x=xmlDoc.getElementsByTagName("book")[0]
x.parentNode.removeChild(x);

document.write("Number of book nodes after removeChild(): ");
document.write(xmlDoc.getElementsByTagName("book").length);

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

인스턴스 실행»

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

예제 설명:

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

  2. 변수 y를 원하는 삭제된 요소 노드

  3. parentNode 특성과 RemoveChild() 메서드를 사용하여 이 요소 노드를 삭제합니다.


텍스트 노드 삭제

removeChild() 메소드를 사용하여 텍스트 노드를 삭제할 수 있습니다:

Instance

<!DOCTYPE html>
<html>
<head>
<script src="loadxmldoc.js"> 
</script>
</head>
<body>
<script>
xmlDoc=loadXMLDoc("books.xml");


x=xmlDoc.getElementsByTagName("title")[0];

document.write("Child nodes: ");
document.write(x.childNodes.length);
document.write("<br>");

y=x.childNodes[0];
x.removeChild(y);

document.write("Child nodes: ");
document.write(x.childNodes.length);
</script>
</body>
</html>

인스턴스 실행 »

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

예제 설명:

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

  2. 변수 x를 첫 번째 제목 요소 노드로 설정

  3. 변수 y를 삭제할 텍스트 노드로 설정

  4. removeChild() 메서드를 사용하여 상위 노드에서 요소 노드를 제거합니다.

덜 일반적으로 사용되는 RemoveChild()는 노드에서 텍스트를 제거합니다. 대신 nodeValue 속성을 사용할 수 있습니다. 다음 단락을 참조하십시오.


텍스트 노드 지우기

nodeValue 속성을 사용하여 텍스트 노드의 값을 변경하거나 지울 수 있습니다:

인스턴스

<!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("Value: " + x.nodeValue);
document.write("<br>");

x.nodeValue="";

document.write("Value: " + x.nodeValue);
</script>
</body>
</html>

인스턴스 실행»

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

인스턴스 설명:

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

  2. 변수 x를 첫 번째 제목 요소의 텍스트 노드로 설정

  3. nodeValue 속성을 사용하여 텍스트 노드의 텍스트를 지웁니다.

모든 <title> 요소의 텍스트 노드를 반복하고 변경합니다.


이름으로 속성 노드 삭제

removeAttribute(name) 메소드는 이름을 기준으로 속성 노드를 삭제하는 데 사용됩니다.

예: RemoveAttribute('category')

다음 코드 조각은 첫 번째 <book> 요소에서 "category" 속성을 제거합니다.

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

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

x=xmlDoc.getElementsByTagName('book');

document.write(x[0].getAttribute('category'));
document.write("<br>");

x[0].removeAttribute('category');

document.write(x[0].getAttribute('category'));

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

인스턴스 실행»

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

예제 설명:

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

  2. getElementsByTagName()을 사용하여 가져옵니다. book 노드

  3. 첫 번째 book 요소 노드에서 "category" 속성을 제거합니다

모든 <book> 요소의 "를 탐색하고 삭제합니다. 카테고리" 속성:


객체를 기반으로 속성 노드 삭제

removeAttributeNode(node) 메소드를 사용하면 노드 객체를 매개변수로 사용하여 속성 노드를 제거합니다.

예: RemoveAttributeNode(x)

다음 코드 조각은 모든 <book> 요소의 모든 속성을 제거합니다.

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

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

x=xmlDoc.getElementsByTagName('book');

for (i=0;i<x.length;i++)
{
while (x[i].attributes.length>0)
  {
  attnode=x[i].attributes[0];
  old_att=x[i].removeAttributeNode(attnode);

  document.write("Removed: " + old_att.nodeName)
  document.write(": " + old_att.nodeValue)
  document.write("<br>")
  }
}
</script>
</body>
</html>

인스턴스 실행»

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

인스턴스 설명:

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

  2. getElementsByTagName()을 사용하여 모든 책 노드 가져오기

  3. 책 요소에 속성이 있는지 여부를 각각 확인하세요.

  4. 책 요소에 속성이 있으면 해당 속성을 삭제하세요.


PHP 중국어 웹사이트