Note that this function is buggy. You have to manually escape the $value argument with htmlspecialchars.
See: http://bugs.php.net/bug.php?id=31191
(PHP 5, PHP 7, PHP 8)
DOMElement::__construct — Создаёт новый экземпляр класса DOMElement
$qualifiedName
, ?string $value
= null
, string $namespace
= "")Создаёт новый объект класса DOMElement. Этот объект доступен только для чтения. Он может быть добавлен к документу, но дополнительные узлы в него нельзя добавить, пока узел не будет связан с документом. Чтобы создать записываемый узел, используйте DOMDocument::createElement или DOMDocument::createElementNS.
qualifiedName
Имя тега создаваемого элемента. Если также передаётся параметр namespaceURI, имя элемента может принимать префикс, который должен быть связан с URI.
value
Значение элемента.
namespace
URI пространства имён для создания элемента с определённым пространством имён.
Пример #1 Создание нового DOMElement
<?php
$dom = new DOMDocument('1.0', 'iso-8859-1');
$element = $dom->appendChild(new DOMElement('root'));
$element_ns = new DOMElement('pr:node1', 'thisvalue', 'http://xyz');
$element->appendChild($element_ns);
echo $dom->saveXML(); /* <?xml version="1.0" encoding="utf-8"?>
<root><pr:node1 xmlns:pr="http://xyz">thisvalue</pr:node1></root> */
?>
Note that this function is buggy. You have to manually escape the $value argument with htmlspecialchars.
See: http://bugs.php.net/bug.php?id=31191
If you like to view an element simply do:
<?php
echo htmlentities($element->C14N());
?>
Undocumented but found ;)
Remember, Dom-Nodes mustn't start with a number:
allowed:
<t12345t4>Value</t12345t4>
Not allowed:
<12345t4>VALUE</12345t4>