Latest web development tutorials

XML의 DOM은 - 노드를 삭제

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

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


예

시도 - 예

다음 예는 XML이 파일을 사용 Books.xml을을 .
기능 loadXMLDoc () 외부 자바 스크립트는 XML 파일을로드하는 데 사용됩니다.

요소 노드를 제거합니다
이 예는 첫 번째 <책> 요소를 제거하기로 removeChild ()를 사용합니다.

현재 요소 노드를 제거
이 예는 인 parentNode과로 removeChild ()가 현재 <책> 요소를 제거하기 위해 사용합니다.

텍스트 노드를 삭제
이 예는 텍스트 노드의 요소를 첫 번째 <제목>을 제거하기로 removeChild ()를 사용합니다.

일반 텍스트 노드
이 예는 텍스트 노드의 첫 번째 <제목> 요소를 지우려면 nodeValue를 () 속성을 사용합니다.

이름 특성을 제거
이 예는 removeAttribute ()를 첫 번째 <책> 요소에서 "카테고리"속성을 삭제합니다.

개체에 따라 특성 삭제
이 예는 모든 <책> 요소에서 모든 속성을 제거하기 위해 removeAttributeNode ()를 사용합니다.


요소 노드를 제거합니다

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

노드가 삭제되면 자식 노드의 모든도 제거됩니다.

로드 된 XML에서 다음의 코드는 첫 번째 <책> 요소를 제거합니다 :

xmlDoc=loadXMLDoc("books.xml");

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

xmlDoc.documentElement.removeChild(y);

»시도

예 설명 :

  1. 사용 loadXMLDoc을 () "에 Books.xml을 해당 xmldoc에"
  2. 변수 Y는 요소 노드를 삭제하도록 설정된
  3. 로 removeChild () 메소드를 사용하여 부모 노드 엘리먼트 노드를 삭제

자기 제거 - 현재 노드를 삭제

로 removeChild () 메소드는 지정된 노드를 제거하는 유일한 방법입니다.

당신이 삭제 될 노드로 이동해야 할 때 인 parentNode 속성과로 removeChild () 메소드를 사용하여이 노드를 삭제할 수 있습니다 :

xmlDoc=loadXMLDoc("books.xml");

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

x.parentNode.removeChild(x);

»시도

예 설명 :

  1. 사용 loadXMLDoc을 () "에 Books.xml을 해당 xmldoc에"
  2. 변수 Y는 요소 노드를 삭제하도록 설정된
  3. 이 요소 노드를 제거하기 위해 인 parentNode 속성과로 removeChild () 메소드를 사용하여

텍스트 노드를 삭제

로 removeChild () 메소드는 텍스트 노드를 삭제할 수있다 :

xmlDoc=loadXMLDoc("books.xml");

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

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

»시도

예 설명 :

  1. 사용 loadXMLDoc을 () "에 Books.xml을 해당 xmldoc에"
  2. 변수 x는 처음 타이틀 엘리먼트 노드로 설정된
  3. 변수 Y는 삭제 될 노드를 텍스트로 설정
  4. 로 removeChild () 메소드를 사용하여 부모 노드 엘리먼트 노드를 삭제

흔하지로 removeChild () 노드에서 텍스트를 삭제합니다. 대신 nodeValue를 속성을 사용할 수 있습니다. 다음 단락을 참조하십시오.


빈 텍스트 노드

nodeValue를 속성 값 또는 빈 텍스트 노드를 변경하는데 사용될 수있다 :

xmlDoc=loadXMLDoc("books.xml");

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

»시도

예 설명 :

  1. 사용 loadXMLDoc을 () "에 Books.xml을 해당 xmldoc에"
  2. 변수 x는 처음 타이틀 엘리먼트 텍스트 노드로 설정된
  3. 텍스트 노드를 지우려면 nodeValue를 속성을 사용하여

통해 모든 <타이틀> 변경 텍스트 노드의 요소 : 시도


이름을 지정해 속성 노드를 삭제

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

예 : removeAttribute ( '카테고리')

다음의 코드 첫 번째 <책> 요소 "카테고리"를 제거 속성 :

xmlDoc=loadXMLDoc("books.xml");

x=xmlDoc.getElementsByTagName("book");
x[0].removeAttribute("category");

»시도

예 설명 :

  1. 사용 loadXMLDoc을 () "에 Books.xml을 해당 xmldoc에"
  2. 책 노드를 얻을 수 getElementsByTagName ()를 사용
  3. 첫 번째 책 요소 노드에서 "카테고리"속성 삭제

과를 통해 모든 <책> 요소 "카테고리"속성 제거 : 시도


개체에 따라 속성 노드를 제거

속성 노드를 제거하는 파라미터로서 노드 개체를 사용하여removeAttributeNode(노드) 방법.

예 : removeAttributeNode (X)

다음 코드는 모든 <책> 요소의 모든 속성을 삭제합니다 :

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);
}
}

»시도

예 설명 :

  1. 사용 loadXMLDoc을 () "에 Books.xml을 해당 xmldoc에"
  2. 모든 책 노드를 얻을 수 getElementsByTagName ()를 사용
  3. 각 요소는 속성 책을 가지고 있는지 확인
  4. 재산권 책 요소에 존재하는 경우, 등록 정보를 삭제