DOMDocument::createElementNS

(PHP 5)

DOMDocument::createElementNS — Создание нового узла-элемента с соответствующим пространством имен


Описание

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

Эта функция создает новый узел-элемент с соответствующим пространством имен. Этот узел не будет отображаться в документе до тех пор, пока он не будет вставлен, например, функцией DOMNode::appendChild().


Список параметров

namespaceURI

- URI пространства имен.

qualifiedName

- Сформированное имя элемента в виде prefix:tagname.

value

- Значение элемента. По умолчанию будет создан пустой элемент. Задать значение можно позднее с помощью DOMElement::$nodeValue.


Возвращаемые значения

Новый объект класса DOMElement либо FALSE в случае ошибки.


Ошибки

DOM_INVALID_CHARACTER_ERR

- Возникает, если qualifiedName содержит недопустимые символы.

DOM_NAMESPACE_ERR

- Возникает, если qualifiedName не верно сформировано.


Примеры

Пример #1 Создание элемента и вставка в документ в качестве корневого

$dom = new DOMDocument('1.0', 'utf-8');
$element = $dom->createElementNS('http://www.example.com/XFoo', 'xfoo:test', 'This is the root element!');
// Вставляем новый элемент как корень (потомок документа)
$dom->appendChild($element);
echo $dom->saveXML();

Результат выполнения данного примера:


<?xml version="1.0" encoding="utf-8"?>
<xfoo:test xmlns:xfoo="http://www.example.com/XFoo">Это корневой элемент!</xfoo:test>

Пример #2 Пример префикса пространства имен

$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"; // Выведет: http://base.google.com/ns/1.0
echo $item->prefix, "\n";       // Выведет: g
echo $item->localName, "\n";    // Выведет: item_type

Результат выполнения данного примера:


<?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


Смотрите также


To avoid multiple xmlns re-declaration, make sure you appending ElementNS into actual DOMDocument tree (not into some currently-assembed derelict element).


Описание класса domdocument, примеры использования класса domdocument.

Описание на ru2.php.net
Описание на php.ru