Продолжим тему DOM , и сегодня мы затронем работу с атрибутами узлов в XML-документе через DOM . В данной статье Вы научитесь считывать значения атрибутов у узлов , а также устанавливать новые значения у существующих атрибутов и создавать новые .

Работа с атрибутами узлов в XML-документе через DOM

Продолжим тему DOM, и сегодня мы затронем работу с атрибутами узлов в XML-документе через DOM. В данной статье Вы научитесь считывать значения атрибутов у узлов, а также устанавливать новые значения у существующих атрибутов и создавать новые.

Привожу сразу достаточно прозрачный пример:

<?php
  $dom = new domDocument("1.0", "utf-8"); // Создаём XML-документ версии 1.0 с кодировкой utf-8
  /* Текст XML-документа */
  $xml = "<?xml version='1.0' encoding='utf-8'?>
  <root><el a='6'>Элемент 1</el><el>Элемент 2</el></root>";
  $dom->loadXML($xml); // Загружаем в объект domDocument XML-разметку
  $root = $dom->documentElement; // Добираемся до корневого элемента root
  $el_1 = $root->firstChild; // Первый дочерний элемент у root
  $el_2 = $el_1->nextSibling; // Ближайший сосед после 1-го элемента el
  echo $el_1->getAttribute("a"); // Выводим значение атрибута "a" у 1-го элемента el
  echo "<br />"; // Переходим на следующую строку в браузере
  $el_2->setAttribute("b", 8); // Устанавливаем атрибут "b" со значением 8 у 2-го элемента el
  echo $el_2->getAttribute("b"); // Выводим значение атрибута "b" у 1-го элемента el
?>

Не думаю, что у кого-то возникнут проблемы с пониманием кода, поэтому я здесь добавил ещё парочку полезных свойств, которые иногда используются. Это свойства класса domNode, которые называются: firstChild и nextSibling. Первое свойство возвращает самый первый дочерний узел у элемента, к которому мы обращаемся. А второе свойство возвращает элемент, следующий сразу же за тем, к которому мы обращаемся. В примере, мы обращаемся к "Элементу 1", а получаем следующий элемент, в нашем случае, это "Элемент 2". Надеюсь, понятно объяснил.

Свойств и методов у классов из стандарта DOM очень много, все их можно посмотреть в справочнике, а здесь я лишь привожу некоторые примеры их использования. Самое главное, что Вы должны научиться делать - это создавать XML-документы и разбирать их, и к этому мы постепенно идём.