XML DOM - навигационный узел
Узел может перемещаться с помощью соотношения между узлами.
Навигации DOM узел
Связь между узлом доступа узлом узла в дереве, как правило, называют узла навигации ( "ходовом узлы").
В XML DOM отношения между узлами определяется как свойство узла:
- ParentNode
- ChildNodes
- FirstChild
- LastChild
- NextSibling
- PreviousSibling
На следующем рисунке показана books.xml часть узлов дерева, и иллюстрирует связь между узлами:
DOM - родитель
Все узлы имеют только одного родителя. Следующий код для перехода к <книги> является родительский узел:
примеров
x=xmlDoc.getElementsByTagName("book")[0];
document.write(x.parentNode.nodeName);
Попробуйте »
Примеры объяснить:
- Используйте loadXMLDoc () , чтобы " в Books.xml " в xmlDoc
- Получить первый элемент <книга>
- Имя выходного узла "х" родительский узел
Избегайте пустых текстовых узлов
Firefox и другие браузеры, пустые, пустые или новой строки в виде текстовых узлов, в то время как Internet Explorer не будет делать.
Он будет использовать следующие атрибуты: FirstChild, LastChild, NextSibling, PreviousSibling, когда возникает проблема.
Чтобы избежать навигации в пустой текстовые узлы (узлы элемента между пространствами и разрывы строк), мы используем функцию, которая проверяет тип узла:
{
y=n.nextSibling;
while (y.nodeType!=1)
{
y=y.nextSibling;
}
return y;
}
Выше функция позволяет использоватьget_nextSibling(узел) вместо свойстваузла .nextSibling.
Код товара:
Тип 1 является узлом элемента. Если узел родственный не является узлом элемента, он перемещается к следующему узлу, пока вы не найдете узлы элементов до сих пор. К таким образом, в Internet Explorer и Firefox, вы можете получить те же результаты.
Будучи первым ребенком
Следующий код показывает первая <книга> является первым элементом:
примеров
<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 () и пользовательскую функцию, чтобы получить узел родственный узел