Создание XML-документа на PHP
В предыдущих статьях по стандарту DOM я упоминал, что он огромен. В нём сотни самых различных свойств и методов у десятков классов. Всё это выучить достаточно тяжело и, главное, не нужно. Ваша главная задача - это уметь создавать XML-документы и парсить их. И в этой статье мы с Вами будем заниматься созданием XML-документа на PHP.
В нижеследующем примере идёт генерация XML-документа на PHP:
<?php
$dom = new domDocument("1.0", "utf-8"); // Создаём XML-документ версии 1.0 с кодировкой utf-8
$root = $dom->createElement("users"); // Создаём корневой элемент
$dom->appendChild($root);
$logins = array("User1", "User2", "User3"); // Логины пользователей
$passwords = array("Pass1", "Pass2", "Pass3"); // Пароли пользователей
for ($i = 0; $i < count($logins); $i++) {
$id = $i + 1; // id-пользователя
$user = $dom->createElement("user"); // Создаём узел "user"
$user->setAttribute("id", $id); // Устанавливаем атрибут "id" у узла "user"
$login = $dom->createElement("login", $logins[$i]); // Создаём узел "login" с текстом внутри
$password = $dom->createElement("password", $passwords[$i]); // Создаём узел "password" с текстом внутри
$user->appendChild($login); // Добавляем в узел "user" узел "login"
$user->appendChild($password);// Добавляем в узел "user" узел "password"
$root->appendChild($user); // Добавляем в корневой узел "users" узел "user"
}
$dom->save("users.xml"); // Сохраняем полученный XML-документ в файл
?>
Всё самое основное, что Вы должны знать при создании XML-документов через PHP, находится в данном примере. Код я постарался хорошо прокомментировать, поэтому вопросов возникнуть не должно. Вы, обладая данными знаниями, уже можете создать практически любой XML-документ, используя стандарт DOM. А в следующей статье я Вам покажу, как парсить XML-документ через PHP.
-
- Михаил Русаков
Комментарии (1):
Всем добрый… Маленькое уточнение: когда пользуетесь методом $dom->createElement(x,y) следите чтобы "y" НИКОГДА не был пустым! Иначе будут чудеса в порождаемом XML :)
Ответить
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.