<MyRusakov.ru />

PHP и MySQL с Нуля до Гуру

PHP и MySQL с Нуля до Гуру

Данный курс - это более 20-ти часов видеоуроков по изучению PHP и MySQL. Ключевой момент курса - это создание движка для сайта с нуля. Каждая строчка комментируется. Практически для каждого урока имеются упражнения. Причём данные упражнения направлены не только на закрепление материала, но и на реализацию реальных задач, встающих перед Web-разработчиками при создании сайтов. После курса Вы сможете без проблем создавать движки для любых сайтов.

Также почти к каждому уроку идут упражнения для закрепления материала.

Просмотрев курс и выполнив упражнения, Вы сможете без проблем создавать функциональные движки для самых различных сайтов.

Подробнее
Подписка

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Каким движком Вы предпочитаете пользоваться?

Как получить список дочерних узлов через DOM

Как получить список дочерних узлов через DOM

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

Привожу сразу код:

<?php
  $dom = new domDocument("1.0", "utf-8"); // Создаём XML-документ версии 1.0 с кодировкой utf-8
  /* Текст XML-документа */
  $xml = "<?xml version='1.0' encoding='utf-8'?>
  <root><el>Элемент 1</el><el>Элемент 2</el></root>";
  $dom->loadXML($xml); // Загружаем в объект domDocument XML-разметку
  $root = $dom->documentElement; // Добираемся до корневого элемента root
  $nodelist = $root->childNodes; // Получаем объект NodeList, содержащий список дочерних узлов у root
  for ($i = 0; $i < $nodelist->length; $i++) {
    $child = $nodelist->item($i); // Получаем i-й узел
    echo $child->nodeName." - ".$child->nodeValue; // Выводим информацию об узле
    echo "<br />"; // Переходим на следующую строку в браузере
  }
?>

Как обычно, я постарался подробно прокомментировать код, однако, кое-что ещё всё-таки проясню. Переменная $root у нас содержит ссылку на объект класса domElement - это чуть ли не основной класс, который используется при работе с DOM. Но он не самый главный. Самый основной и самый верхний в иерархии объектов DOM - это класс domNode. От него и идут все последующие классы, как наследники (производные или дочерние классы).

Класс NodeList - отдельный, он не является дочерним для domNode. Данный класс - это как массив, содержащий в себе список узлов.

И, наконец, свойства nodeName и nodeValue принадлежат классу domNode, но применяются они к объектам domElement (в данном случае). Свойство nodeName содержит название элемента (в данном случае, el), а nodeValue содержимое элемента (в данном случае, Элемент 1 и Элемент 2).

Теперь Вы должны уже иметь представление как получать список дочерних узлов через DOM в XML-документе, а уже дальше Вы можете полученные данные анализировать и использовать в своих целях.

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

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

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

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (0):

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.