DOMDocument::createElement

(PHP 5, PHP 7, PHP 8)

DOMDocument::createElementCria novo nó de elemento

Descrição

public DOMDocument::createElement(string $localName, string $value = ""): DOMElement|false

Esta função cria uma nova instância da classe DOMElement. Este nó não aparecerá no documento a menos que seja inserido, por exemplo, com DOMNode::appendChild().

Parâmetros

localName

O nome da tag do elemento.

value

O valor do elemento. Por padrão, um elemento vazio será criado. O valor também pode ser definido posteriormente com DOMElement::$nodeValue. The value of the element. By default, an empty element will be created.

O valor é utilizado literalmente, exceto que as referências de entidade < e > serão escapadas. Note que & precisa ser escapado manualmente; caso contrário, é considerado como o início de uma referência de entidade. Além disso " não será escapado.

Valor Retornado

Retorna uma nova instância da classe DOMElement ou false se ocorrer um erro.

Erros/Exceções

DOM_INVALID_CHARACTER_ERR

Gerado se localName contiver um caractere inválido.

Exemplos

Example #1 Criando um novo elemento e inserindo-o como raiz

<?php

$dom = new DOMDocument('1.0', 'utf-8');

$element = $dom->createElement('test', 'This is the root element!');

// Inserimos o novo elemento como raiz (filho do documento)
$dom->appendChild($element);

echo $dom->saveXML();
?>

O exemplo acima produzirá:

<?xml version="1.0" encoding="utf-8"?>
<test>This is the root element!</test>

Example #2 Passando texto contendo um & não escapado como value

<?php
$dom = new DOMDocument('1.0', 'utf-8');
$element = $dom->createElement('foo', 'me & you');
$dom->appendChild($element);
echo $dom->saveXML();
?>

O exemplo acima produzirá algo semelhante a:

Warning: DOMDocument::createElement(): unterminated entity reference             you in /in/BjTCg on line 4
<?xml version="1.0" encoding="utf-8"?>
<foo/>

Notas

Note:

O value não será escapado. Use DOMDocument::createTextNode() para criar um nó de texto com suporte a escapamento.

Veja Também