Php/docs/domdocument.createelementns

From Get docs

DOMDocument::createElementNS

(PHP 5, PHP 7)

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


Description

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

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 occurred.


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.0echo $item->prefix, "\n";       // Outputs: gecho $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