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 - Manual: DOMElement::__construct
2024-12-22
(PHP 5, PHP 7, PHP 8)
DOMElement::__construct — Creates a new DOMElement object
$qualifiedName
, ?string $value
= null
, string $namespace
= "")Creates a new DOMElement object. This object is read only. It may be appended to a document, but additional nodes may not be appended to this node until the node is associated with a document. To create a writeable node, use DOMDocument::createElement or DOMDocument::createElementNS.
qualifiedName
The tag name of the element. When also passing in namespaceURI, the element name may take a prefix to be associated with the URI.
value
The value of the element.
namespace
A namespace URI to create the element within a specific namespace.
示例 #1 Creating a new 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>