DOMDocument::createElementNS

(PHP 5, PHP 7)

DOMDocument::createElementNS Создать новый узел элемента с соответствующим пространством имен

Описание

public DOMDocument::createElementNS ( string $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

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