Последние учебники веб-разработки
×

XML Руководство

XML ГЛАВНАЯ XML Введение XML Как использовать XML дерево XML Синтаксис XML элементы XML Атрибуты XML Пространства имен XML дисплей XML XSLT XML XPath XML XLink XML Оценщик XML DTD XML схема XML сервер XML Приложения XML Примеры XML викторина XML сертификат

XML DOM

DOM вступление DOM Вершины DOM XMLHttpRequest DOM Доступ к DOM Узел информация DOM Список узлов DOM Пересекая DOM навигационный DOM Получить значения DOM Change Вершины DOM Remove Вершины DOM Replace Вершины DOM Create Вершины DOM Add Вершины DOM Clone Вершины DOM Примеры

DOM Справка

DOM Типы узлов DOM Узел DOM NodeList DOM NamedNodeMap DOM Документ DOM Элемент DOM Атрибут DOM Текст DOM CDATA DOM Комментарий DOM XMLHttpRequest DOM синтаксический анализатор

XML DTD

DTD вступление DTD Строительные блоки DTD элементы DTD Атрибуты DTD Элементы против Attr DTD юридические лица DTD Примеры

XSD Schema

XSD вступление XSD Как XSD <schema> XSD элементы XSD Атрибуты XSD ограничения

XSD Сложный

XSD элементы XSD пустой XSD Элементы только XSD Только текст XSD смешанный XSD индикаторы XSD <any> XSD <anyAttribute> XSD подмена XSD пример

XSD Data

XSD строка XSD Дата XSD числовой XSD Разное XSD Справка

Web Сервисы

XML Сервисы XML WSDL XML SOAP XML RDF XML RSS

 

XML DOM - Доступ к Узлов


С DOM, вы можете получить доступ к любому узлу в документе XML.


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

Приведенные ниже примеры используют XML - файл Books.xml .

Получить доступ к узлу , используя его номер индекса в списке узлов
Используйте getElementsByTagName() метод , чтобы получить третий <title> элемент в "books.xml"

Петля через узлы , используя свойство длины
Используйте свойство длины Переберите все <title> элементы в "books.xml"

См тип узла элемента
Используйте свойство NODETYPE , чтобы получить тип узла корневого элемента в "books.xml" .

Перебор узлов элемента
Используйте свойство NODETYPE для узлов элементов , только в процессе "books.xml" .

Петля через узлы элемента с помощью узла связи
Обработать узлы элемента в Используйте свойство NODETYPE и свойство NextSibling "books.xml" .

×

заголовок


Доступ к узлов

Вы можете получить доступ к узлу тремя способами:

1. Используя getElementsByTagName() метод

2. пробегаем по (traversing) дерева узлов.

3. навигации по дереву узлов, используя узел связи.


getElementsByTagName() Метод

getElementsByTagName () возвращает все элементы с указанным именем тега.

Синтаксис

node.getElementsByTagName("tagname");

пример

Следующий пример возвращает все <title> элементов под х элементов:

x.getElementsByTagName("title");

Обратите внимание , что приведенный выше пример возвращает только <title> элементов под х узла. Для того, чтобы вернуть все <title> элементов в использовании XML - документа:

xmlDoc.getElementsByTagName("title");

где xmlDoc является сам документ (document node) .


DOM списка узлов

getElementsByTagName() метод возвращает список узлов. Список узел представляет собой массив узлов.

x = xmlDoc.getElementsByTagName("title");

<title> элементы х можно получить по номеру индекса. Чтобы получить доступ к третьей <title> вы можете написать ::

y = x[2];

Note: Индекс начинается с 0.

Вы узнаете больше о списках узлов в следующей главе данного руководства.


DOM Список узлов Длина

Свойство длина определяет длину списка узлов (the number of nodes) .

Вы можете перебрать список узлов, используя свойство длины:

пример

var x = xmlDoc.getElementsByTagName("title");

for (i = 0; i <x.length; i++) {
  // do something for each node
  }
Попробуй сам "

Типы узлов

documentElement свойство документа XML является корневой узел.

nodeName свойство узла является именем узла.

nodeType свойство узла является тип узла.

Вы узнаете больше о свойствах узла в следующей главе данного руководства.

Попробуй сам


обходе узлов

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

пример

txt = "";
x = xmlDoc.documentElement.childNodes;

for (i = 0; i <x.length; i++) {
  // Process only element nodes (type 1)
  if (x[i].nodeType == 1) {
    txt += x[i].nodeName + "<br>";
  }
}
Попробуй сам "

Объяснение примера:

  1. Предположим , что вы загрузили " Books.xml " в xmlDoc
  2. Получить дочерние узлы корневого элемента (xmlDoc)
  3. Для каждого дочернего узла, проверьте тип узла. Если тип узла "1" это узел элемента
  4. Выходное имя узла, если он является узлом элемента

Перемещение по Узел Связи

Следующий код переходит дерево узлов с помощью узла связи:

пример

x = xmlDoc.getElementsByTagName("book")[0];
xlen = x.childNodes.length;
y = x.firstChild;

txt = "";
for (i = 0; i <xlen; i++) {
  // Process only element nodes (type 1)
  if (y.nodeType == 1) {
    txt += y.nodeName + "<br>";
  }
  y = y.nextSibling;
}
Попробуй сам "

Объяснение примера:

  1. Предположим , что вы загрузили " Books.xml " в xmlDoc
  2. Получить дочерние узлы первой книги элемента
  3. Установите "y" переменную , чтобы быть первым дочерним узлом первой книги элемента
  4. Для каждого дочернего узла (starting with the first child node "y") :
  5. Проверьте тип узла. Если тип узла "1" это узел элемента
  6. Выходное имя узла, если он является узлом элемента
  7. Установите "y" переменную , чтобы быть следующим узлом родного брата, и снова запустить через петлю