Latest web development tutorials

XML DOM - навигационный узел

Узел может перемещаться с помощью соотношения между узлами.


Навигации DOM узел

Связь между узлом доступа узлом узла в дереве, как правило, называют узла навигации ( "ходовом узлы").

В XML DOM отношения между узлами определяется как свойство узла:

  • 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. Имя выходного узла "х" родительский узел

Избегайте пустых текстовых узлов

Firefox и другие браузеры, пустые, пустые или новой строки в виде текстовых узлов, в то время как Internet Explorer не будет делать.

Он будет использовать следующие атрибуты: FirstChild, LastChild, NextSibling, PreviousSibling, когда возникает проблема.

Чтобы избежать навигации в пустой текстовые узлы (узлы элемента между пространствами и разрывы строк), мы используем функцию, которая проверяет тип узла:

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

Выше функция позволяет использоватьget_nextSibling(узел) вместо свойстваузла .nextSibling.

Код товара:

Тип 1 является узлом элемента. Если узел родственный не является узлом элемента, он перемещается к следующему узлу, пока вы не найдете узлы элементов до сих пор. К таким образом, в Internet Explorer и Firefox, вы можете получить те же результаты.


Будучи первым ребенком

Следующий код показывает первая <книга> является первым элементом:

примеров

<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. Выход первого дочернего узла (элемент, принадлежащий к узлу) имени узла

Примеры s

Другие примеры

LastChild ()
В этом примере используется метод LastChild () и пользовательскую функцию, чтобы получить последний дочерний узел

NextSibling ()
В этом примере используется метод NextSibling () и следующий родственный узел пользовательской функции, чтобы получить узел

PreviousSibling ()
В этом примере используется PreviousSibling () и пользовательскую функцию, чтобы получить узел родственный узел