XML DOM - 탐색 노드
노드는 노드 간의 관계를 사용하여 이동할 수있다.
탐색 DOM 노드
트리의 노드 노드가 액세스 노드와의 관계는, 일반적으로 탐색 노드 ( "노드 탐색")라고 함.
DOM은 XML에서, 노드들 사이의 관계는 노드의 속성으로 정의된다 :
- 인 parentNode
- childNodes에
- firstChild
- lastChild
- 로 nextSibling
- previousSibling은
다음 이미지 표시 Books.xml을 트리의 노드의 일부와 노드 간의 관계를 나타낸다 :
DOM - 부모
모든 노드는 하나의 부모가. 의 <책>로 이동합니다 다음 코드는 부모 노드입니다 :
예
x=xmlDoc.getElementsByTagName("book")[0];
document.write(x.parentNode.nodeName);
»시도
예 설명 :
- 사용 loadXMLDoc을 () "에 Books.xml을 해당 xmldoc에"
- 첫 번째 <책> 요소를 가져옵니다
- 출력 노드의 이름 "X"부모 노드
빈 텍스트 노드를 피하십시오
텍스트 노드로, 빈 빈 또는 줄 바꿈 파이어 폭스와 다른 브라우저, Internet Explorer는하지 않을 것이다있다.
firstChild, lastChild,로 nextSibling, 문제가 발생한 경우에 previousSibling은 : 그것은 다음과 같은 속성을 사용합니다.
우리는 노드 유형을 확인하는 함수를 사용하여 (공백과 줄 바꿈 사이에 요소 노드를) 하늘의 텍스트 노드로 이동 방지하려면 :
{
y=n.nextSibling;
while (y.nodeType!=1)
{
y=y.nextSibling;
}
return y;
}
위의 기능을 대신노드 .nextSibling재산을get_nextSibling(노드)를 사용할 수 있습니다.
코드 설명 :
타입 1 요소 노드이다. 형제 노드가 요소 노드가 아닌 경우에는 지금까지의 요소 노드를 찾을 때까지 다음 노드로 이동한다. 이러한 방식으로, 인터넷 익스플로러와 파이어 폭스에서 동일한 결과를 얻을 수 있습니다.
첫 번째 자식 인
다음 코드는 첫 번째 <책>을 보여줍니다 첫 번째 요소입니다 :
예
<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>
출력 :
»시도
예 설명 :
- 사용 loadXMLDoc을 () "에 Books.xml을 해당 xmldoc에"
- 첫 번째 자식 노드 (요소가 노드에 속한) 얻을, 첫 번째 <책>의 요소에 get_firstChild 기능을 사용하여
- 제 자식 노드의 출력 노드 이름 (노드에 속하는 원소)
더 많은 예제
lastChild ()
이 예는 마지막 자식 노드를 얻을 수 lastChild () 메소드와 사용자 정의 함수를 사용하여
로 nextSibling ()
이 예제로 nextSibling () 메소드 노드를 얻을 수있는 사용자 정의 함수의 다음 형제 노드를 사용
previousSibling은 ()
이 예는 형제 노드 노드를 얻을 수 previousSibling은 () 메소드와 사용자 정의 함수를 사용하여