DOMDocument::createElement
(PHP 5, PHP 7)
DOMDocument::createElement — Создать новый узел элемента
Описание
Эта функция создает экземпляр класса DOMElement. Этот узел не будет отображаться в документе до тех пор, пока он не будет вставлен, например, функцией DOMNode::appendChild().
Список параметров
-
name
-
Имя тега элемента.
-
value
-
Значение элемента. По умолчанию будет создан пустой элемент. Значение может быть установлено позднее с помощью DOMElement::$nodeValue.
Значение используется дословно, за исключением < и >, которые будут экранированы. Обратите внимание, что & должен быть экранирован самостоятельно, в противном случае он будет рассматриваться как начало ссылки на сущность. Также " не будет экранирован.
Возвращаемые значения
Возвращает новый объект класса DOMElement или
false
в случае ошибки.
Ошибки
-
DOM_INVALID_CHARACTER_ERR
-
Возникает, если
name
содержит недопустимые символы.
Примеры
Пример #1 Создание нового элемента и вставка его в качестве корневого
<?php
$dom = new DOMDocument('1.0', 'utf-8');
$element = $dom->createElement('test', 'Это корневой элемент!');
// Вставляем новый элемент как корень (потомок документа)
$dom->appendChild($element);
echo $dom->saveXML();
?>
Результат выполнения данного примера:
<?xml version="1.0" encoding="utf-8"?> <test>Это корневой элемент!</test>
Пример #2 Передача текста, содержащего неэкранированный & в value
<?php
$dom = new DOMDocument('1.0', 'utf-8');
$element = $dom->createElement('foo', 'я & ты');
$dom->appendChild($element);
echo $dom->saveXML();
?>
Результатом выполнения данного примера будет что-то подобное:
Warning: DOMDocument::createElement(): unterminated entity reference you in /in/BjTCg on line 4 <?xml version="1.0" encoding="utf-8"?> <foo/>
Примечания
Замечание:
Значение
value
не будет экранировано. Используйте функцию DOMDocument::createTextNode() для создания текстового узла с поддержкой экранирования.
Смотрите также
- DOMNode::appendChild() - Добавляет новый дочерний узел в конец списка потомков
- DOMDocument::createAttribute() - Создать новый атрибут
- DOMDocument::createAttributeNS() - Создает новый атрибут узла с соответствующим пространством имен
- DOMDocument::createCDATASection() - Создает новый узел cdata
- DOMDocument::createComment() - Создать новый узел комментария
- DOMDocument::createDocumentFragment() - Создать новый фрагмент документа
- DOMDocument::createElementNS() - Создать новый узел элемента с соответствующим пространством имен
- DOMDocument::createEntityReference() - Создать новый узел ссылки на сущность
- DOMDocument::createProcessingInstruction() - Создать новый PI-узел
- DOMDocument::createTextNode() - Создать новый текстовый узел