Create new element node with an associated namespace

DOMDocument::createElement
DOMDocument::createEntityReference
DOMDocument
PHP Manual

# DOMDocument::createElementNS

(PHP 5)

DOMDocument::createElementNS — Create new element node with an associated namespace

### Description

DOMElement DOMDocument::createElementNS ( string `$namespaceURI` , string `$qualifiedName` [, string `$value` ] )

This function creates a new element node with an associated namespace. This node will not show up in the document unless it is inserted with (e.g.) DOMNode->appendChild().

### Parameters

`namespaceURI`

  The URI of the namespace.

`qualifiedName`

  The qualified name of the element, as prefix:tagname.

`value`

  The value of the element. By default, an empty element will be created. You can also set the value later with DOMElement->nodeValue.

### Return Values

The new DOMElement or `FALSE` if an error occured.

### Errors/Exceptions

`DOM_INVALID_CHARACTER_ERR`

  Raised if `qualifiedName` contains an invalid character.

`DOM_NAMESPACE_ERR`

  Raised if `qualifiedName` is a maformed qualified name.

### Examples

Example #1 Creating a new element and inserting it as root

`<?php
$dom = new DOMDocument('1.0', 'utf-8');
$element = $dom->createElementNS('http://www.example.com/XFoo', 'xfoo:test', 'This is the root element!');
// We insert the new element as root (child of the document)
$dom->appendChild($element);
echo $dom->saveXML();
?>`

The above example will output:

    <?xml version="1.0" encoding="utf-8"?>
    <xfoo:test xmlns:xfoo="http://www.example.com/XFoo">This is the root element!</xfoo:test>

Example #2 A namespace prefix example

`<?php
$doc = new DOMDocument('1.0', 'utf-8');
$doc->formatOutput = true;
$root = $doc->createElementNS('http://www.w3.org/2005/Atom', 'element');
$doc->appendChild($root);
$root->setAttributeNS('http://www.w3.org/2000/xmlns/' ,'xmlns:g', 'http://base.google.com/ns/1.0');
$item = $doc->createElementNS('http://base.google.com/ns/1.0', 'g:item_type', 'house');
$root->appendChild($item);
echo $doc->saveXML(), "\n";
echo $item->namespaceURI, "\n"; // Outputs: http://base.google.com/ns/1.0
echo $item->prefix, "\n"; // Outputs: g
echo $item->localName, "\n"; // Outputs: item_type
?>`

The above example will output:

    <?xml version="1.0" encoding="utf-8"?>
    <element xmlns="http://www.w3.org/2005/Atom" xmlns:g="http://base.google.com/ns/1.0">
      <g:item_type>house</g:item_type>
    </element>

    http://base.google.com/ns/1.0
    g
    item_type

### See Also

- DOMNode::appendChild - Adds new child at the end of the children
- DOMDocument::createAttribute - Create new attribute
- DOMDocument::createAttributeNS - Create new attribute node with an associated namespace
- DOMDocument::createCDATASection - Create new cdata node
- DOMDocument::createComment - Create new comment node
- DOMDocument::createDocumentFragment - Create new document fragment
- DOMDocument::createElement - Create new element node
- DOMDocument::createEntityReference - Create new entity reference node
- DOMDocument::createProcessingInstruction - Creates new PI node
- DOMDocument::createTextNode - Create new text node

DOMDocument::createElement
DOMDocument::createEntityReference
DOMDocument
PHP Manual