XML DOM - węzeł nawigacji
Węzeł może poruszać za pomocą relacji między węzłami.
Węzeł Nawigacja DOM
Zależność pomiędzy węzłem dostępowym przez węzeł węzeł w drzewie, powszechnie nazywany węzłem nawigacyjnym ( "nawigacyjnym węzły").
W DOM XML zależność pomiędzy węzłami jest definiowana jako właściwość węzła:
- parentNode
- childNodes
- firstChild
- lastChild
- nextSibling
- previousSibling
Poniższy rysunek przedstawia Books.xml część węzłów drzewa, i ilustruje zależność między węzłami:
DOM - rodzic
Wszystkie węzły mają tylko jednego rodzica. Poniższy kod, aby przejść do książki <> jest węzeł nadrzędny:
Przykłady
x=xmlDoc.getElementsByTagName("book")[0];
document.write(x.parentNode.nodeName);
Spróbuj »
Przykłady wyjaśnić:
- Użyj loadXMLDoc () do " Books.xml " pod xmldoc
- Uzyskanie pierwszego elementu <book>
- Nazwa węzła wyjściowego "x" węzeł nadrzędny
Unikaj pustych węzłów tekstowych
Firefox i inne przeglądarki, puste, puste lub nowego wiersza jako węzły tekstowe, podczas gdy Internet Explorer nie zrobi.
Wykorzysta on następujące atrybuty: firstChild, lastChild, nextSibling, previousSibling kiedy pojawia się problem.
Aby uniknąć przechodząc do pustej węzłów tekstowych (węzły elementów między spacjami i znakami końca wiersza), możemy użyć funkcji, która sprawdza typ węzła:
{
y=n.nextSibling;
while (y.nodeType!=1)
{
y=y.nextSibling;
}
return y;
}
Powyższa funkcja pozwala na użycieget_nextSibling(węzła) zamiast własnościwęzła .nextSibling.
Kod wyjaśnienie:
Typ 1 jest węzłem elementem. Jeśli węzeł rodzeństwo nie jest wierzchołkiem elementu, to przechodzi do następnego węzła, aż znajdziesz węzły elementów do tej pory. W ten sposób, w programie Internet Explorer i Firefox, można uzyskać takie same wyniki.
Jako pierwsze dziecko
Poniższy kod przedstawia pierwszą książkę <> jest pierwszym elementem:
Przykłady
<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>
wyjście:
Spróbuj »
Przykłady wyjaśnić:
- Użyj loadXMLDoc () do " Books.xml " pod xmldoc
- Użyj funkcji get_firstChild na elementach w pierwszej książce <>, aby uzyskać pierwszego węzła potomnego (pierwiastek należący do węzła)
- Wyjście pierwszego węzła potomnego (pierwiastek należący do węzła) węzła
Więcej przykładów
lastChild ()
W tym przykładzie wykorzystano metodę lastChild () oraz funkcję niestandardową, aby uzyskać ostatni węzeł podrzędny
nextSibling ()
W tym przykładzie wykorzystano metodę nextSibling () i następnego węzła rodzeństwa funkcji niestandardowej, aby uzyskać węzeł
previousSibling ()
W tym przykładzie użyto previousSibling () metoda i funkcji niestandardowej, aby uzyskać węzeł węzeł równorzędny