XML DOM Обход дерева узлов


Обход означает циклический проход или перемещение по дереву узлов.


Обход дерева узлов

Часто требуется пройти по XML-документу в цикле, например: когда нужно извлечь значение каждого элемента.

Это называется "обходом дерева узлов".

Следующий пример выполняет обход всех дочерних узлов <book> и отображает их имена и значения:

Пример

<!DOCTYPE html> <html> <body> <p id="demo"></p> <script>
var x, i ,xmlDoc; var txt = ""; var text = "<book>" + "<title>Everyday Italian</title>" + "<author>Giada De Laurentiis</author>" + "<year>2005</year>" + "</book>"; parser = new DOMParser(); xmlDoc = parser.parseFromString(text,"text/xml"); //documentElement представляет корневой узел x = xmlDoc.documentElement.childNodes; for (i = 0; i < x.length ;i++) { txt += x[i].nodeName + ": " + x[i].childNodes[0].nodeValue + "<br>"; } document.getElementById("demo").innerHTML = txt;
</script> </body> </html>

Вывод:

title: Everyday Italian
author: Giada De Laurentiis
year: 2005

Попробуйте сами »

Пояснение к примеру:

  1. Загрузите XML-строку в xmlDoc.
  2. Получить дочерние узлы корневого элемента
  3. Выведите имя узла каждого дочернего узла и значение текстового узла.

Другие расширения