Latest web development tutorials

XML DOM - 탐색 노드

노드는 노드 간의 관계를 사용하여 이동할 수있다.


탐색 DOM 노드

트리의 노드 노드가 액세스 노드와의 관계는, 일반적으로 탐색 노드 ( "노드 탐색")라고 함.

DOM은 XML에서, 노드들 사이의 관계는 노드의 속성으로 정의된다 :

  • 인 parentNode
  • childNodes에
  • firstChild
  • lastChild
  • 로 nextSibling
  • previousSibling은

다음 이미지 표시 Books.xml을 트리의 노드의 일부와 노드 간의 관계를 나타낸다 :

노드 트리


DOM - 부모

모든 노드는 하나의 부모가. 의 <책>로 이동합니다 다음 코드는 부모 노드입니다 :

xmlDoc=loadXMLDoc("books.xml");

x=xmlDoc.getElementsByTagName("book")[0];
document.write(x.parentNode.nodeName);

»시도

예 설명 :

  1. 사용 loadXMLDoc을 () "에 Books.xml을 해당 xmldoc에"
  2. 첫 번째 <책> 요소를 가져옵니다
  3. 출력 노드의 이름 "X"부모 노드

빈 텍스트 노드를 피하십시오

텍스트 노드로, 빈 빈 또는 줄 바꿈 파이어 폭스와 다른 브라우저, Internet Explorer는하지 않을 것이다있다.

firstChild, lastChild,로 nextSibling, 문제가 발생한 경우에 previousSibling은 : 그것은 다음과 같은 속성을 사용합니다.

우리는 노드 유형을 확인하는 함수를 사용하여 (공백과 줄 바꿈 사이에 요소 노드를) 하늘의 텍스트 노드로 이동 방지하려면 :

function get_nextSibling(n)
{
y=n.nextSibling;
while (y.nodeType!=1)
{
y=y.nextSibling;
}
return y;
}

위의 기능을 대신노드 .nextSibling재산을get_nextSibling(노드)를 사용할 수 있습니다.

코드 설명 :

타입 1 요소 노드이다. 형제 노드가 요소 노드가 아닌 경우에는 지금까지의 요소 노드를 찾을 때까지 다음 노드로 이동한다. 이러한 방식으로, 인터넷 익스플로러와 파이어 폭스에서 동일한 결과를 얻을 수 있습니다.


첫 번째 자식 인

다음 코드는 첫 번째 <책>을 보여줍니다 첫 번째 요소입니다 :

<html>
<head>
<script src="loadxmldoc.js">
</script>
<script>
//check if the first node is an element node
function get_firstChild(n)
{
y=n.firstChild;
while (y.nodeType!=1)
{
y=y.nextSibling;
}
return y;
}
</script>
</head>

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

x=get_firstChild(xmlDoc.getElementsByTagName("book")[0]);
document.write(x.nodeName);
</script>
</body>
</html>

출력 :

title

»시도

예 설명 :

  1. 사용 loadXMLDoc을 () "에 Books.xml을 해당 xmldoc에"
  2. 첫 번째 자식 노드 (요소가 노드에 속한) 얻을, 첫 번째 <책>의 요소에 get_firstChild 기능을 사용하여
  3. 제 자식 노드의 출력 노드 이름 (노드에 속하는 원소)

예를들

더 많은 예제

lastChild ()
이 예는 마지막 자식 노드를 얻을 수 lastChild () 메소드와 사용자 정의 함수를 사용하여

로 nextSibling ()
이 예제로 nextSibling () 메소드 노드를 얻을 수있는 사용자 정의 함수의 다음 형제 노드를 사용

previousSibling은 ()
이 예는 형제 노드 노드를 얻을 수 previousSibling은 () 메소드와 사용자 정의 함수를 사용하여