©
本文档使用 PHP中文网手册 发布
(PHP 5, PHP 7)
DOMDocument::createElementNS — Create new element node with an associated namespace
$namespaceURI
, string $qualifiedName
[, string $value
] )This function creates a new element node with an associated namespace. 此节点出现在文档中,除非是用诸如 DOMNode->appendChild() 等函数来将其插入。
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.
The new DOMElement or FALSE
if an error occurred.
DOM_INVALID_CHARACTER_ERR
Raised if qualifiedName
contains an invalid character.
DOM_NAMESPACE_ERR
Raised if qualifiedName
is a maformed qualified
name.
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 ();
?>
以上例程会输出:
<?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
?>
以上例程会输出:
<?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
[#1] Martin [2011-12-27 21:39:06]
To avoid multiple xmlns re-declaration, make sure you appending ElementNS into actual DOMDocument tree (not into some currently-assembed derelict element).