略微加速

PHP官方手册 - 互联网笔记

PHP - Manual: DOMDocument::createElementNS

2024-12-22

DOMDocument::createElementNS

(PHP 5, PHP 7, PHP 8)

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

说明

public DOMDocument::createElementNS(?string $namespace, string $qualifiedName, string $value = ""): DOMElement|false

This function creates a new element node with an associated namespace. 此节点出现在文档中,除非是用诸如 DOMNode->appendChild() 等函数来将其插入。

参数

namespace

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 malformed qualified name.

范例

示例 #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>

示例 #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

参见

add a noteadd a note

User Contributed Notes 1 note

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

官方地址:https://www.php.net/manual/en/domdocument.createelementns.php

北京半月雨文化科技有限公司.版权所有 京ICP备12026184号-3