DOMDocument::createElementNS
(PHP 5, PHP 7)
DOMDocument::createElementNS — Создать новый узел элемента с соответствующим пространством имен
Описание
$namespaceURI
, string $qualifiedName
, string $value
= ?
) : DOMElementЭта функция создает новый узел-элемент с соответствующим пространством имен. Этот узел не будет отображаться в документе до тех пор, пока он не будет вставлен, например, функцией DOMNode::appendChild().
Список параметров
-
namespaceURI
-
URI пространства имен.
-
qualifiedName
-
Квалифицированное имя элемента в виде
prefix:tagname
. -
value
-
Значение элемента. По умолчанию будет создан пустой элемент. Задать значение также можно позднее с помощью DOMElement::$nodeValue.
Возвращаемые значения
Новый объект класса DOMElement или false
в случае ошибки.
Ошибки
-
DOM_INVALID_CHARACTER_ERR
-
Возникает, если
qualifiedName
содержит недопустимые символы. -
DOM_NAMESPACE_ERR
-
Возникает, если
qualifiedName
не верно сформировано.
Примеры
Пример #1 Создание элемента и вставка в документ в качестве корневого
<?php
$dom = new DOMDocument('1.0', 'utf-8');
$element = $dom->createElementNS('http://www.example.com/XFoo', 'xfoo:test', 'Это корневой элемент!');
// Вставляем новый элемент как корень (потомок документа)
$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 Пример префикса пространства имен
<?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"; // Выведет: 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
Смотрите также
- DOMNode::appendChild() - Добавляет новый дочерний узел в конец списка потомков
- DOMDocument::createAttribute() - Создать новый атрибут
- DOMDocument::createAttributeNS() - Создает новый атрибут узла с соответствующим пространством имен
- DOMDocument::createCDATASection() - Создает новый узел cdata
- DOMDocument::createComment() - Создать новый узел комментария
- DOMDocument::createDocumentFragment() - Создать новый фрагмент документа
- DOMDocument::createElement() - Создать новый узел элемента
- DOMDocument::createEntityReference() - Создать новый узел ссылки на сущность
- DOMDocument::createProcessingInstruction() - Создать новый PI-узел
- DOMDocument::createTextNode() - Создать новый текстовый узел