DOMDocument::createElement

(PHP 5, PHP 7)

DOMDocument::createElementCrea un nuevo nodo elemento

Descripción

public DOMDocument::createElement ( string $name [, string $value ] ) : DOMElement

Esta función crea una nueva instancia de la clase DOMElement. Este nodo no se mostrará en el documento a no ser que sea insertado con (p.e.j.) DOMNode::appendChild().

Parámetros

name

El nombre de etiqueta del elemento.

value

El valor del elemento. De manera predeterminada se creará un elemento vacio. El valor también puede ser asignado más tarde con DOMElement::$nodeValue.

El valor es usado al pie de la letra, excepto que las referencias de entidad < y > se escaparán. Tenga en cuenta que & tiene que ser escapado manualmente; de lo contrario, se tomará como inicio de una referencia de entidad. Además " no sera escapado.

Valores devueltos

Devuelve una nueva instanca de la clase DOMElement o FALSE si ha ocurrido un error.

Errores/Excepciones

DOM_INVALID_CHARACTER_ERR

Lanzado si name contiene un carácter inválido.

Ejemplos

Ejemplo #1 Crear un nuevo elemento e insertarlo como raíz

<?php

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

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

// Insertamos el nuevo elemento como raíz (hijo del documento)
$dom->appendChild($element);

echo 
$dom->saveXML();
?>

El resultado del ejemplo sería:

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

Ejemplo #2 Pasando texto que contiene un & sin escapar como valor

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

El resultado del ejemplo sería algo similar a:

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

Notas

Nota:

El parámetro value no será escapado. Utilice DOMDocument::createTextNode() para crear un nodo de texto con soporte para escape de carácteres.

Ver también