Продолжим тему 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-документы и разбирать их, и к этому мы постепенно идём.
