(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() для создания текстового узла с поддержкой экранирования.