• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • DOMDocument::createElementNS()

    (PHP 5, PHP 7)

    Create new element node with an associated namespace

    说明

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

    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, asprefix: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$qualifiedNamecontains an invalid character.

    DOM_NAMESPACE_ERR

    Raised if$qualifiedNameis 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
    

    参见

    • DOMNode::appendChild() Adds new child at the end of the children
    • DOMDocument::createAttribute() Create new attribute
    • DOMDocument::createAttributeNS() Create new attribute node with an associated namespace
    • DOMDocument::createCDATASection() Create new cdata node
    • DOMDocument::createComment() Create new comment node
    • DOMDocument::createDocumentFragment() Create new document fragment
    • DOMDocument::createElement() Create new element node
    • DOMDocument::createEntityReference() Create new entity reference node
    • DOMDocument::createProcessingInstruction() Creates new PI node
    • DOMDocument::createTextNode() Create new text node
    To avoid multiple xmlns re-declaration, make sure you appending ElementNS into actual DOMDocument tree (not into some currently-assembed derelict element).