Searches for all elements with given tag name in specified namespace

- « DOMDocument::getElementsByTagName

- DOMDocument::importNode »

- PHP Manual
- DOMDocument
- Searches for all elements with given tag name in specified namespace

# DOMDocument::getElementsByTagNameNS

(PHP 5, PHP 7, PHP 8)

DOMDocument::getElementsByTagNameNS — Searches for all elements with given tag name in specified namespace

### Description

public DOMDocument::getElementsByTagNameNS(?string `$namespace`, string `$localName`): DOMNodeList

Returns a DOMNodeList of all elements with a given local name and a namespace URI.

### Parameters

`namespace`

  The namespace URI of the elements to match on. The special value `"*"` matches all namespaces. Passing `null` matches the empty namespace.

`localName`

  The local name of the elements to match on. The special value `"*"` matches all local names.

### Return Values

A new DOMNodeList object containing all the matched elements.

### Changelog

Version | Description
--- | ---
8.0.3 | `namespace` is nullable now.

### Examples

Example #1 Get all the XInclude elements

    <?php

    $xml = <<<EOD
    <?xml version="1.0" ?>
    <chapter xmlns:xi="http://www.w3.org/2001/XInclude">
    <title>Books of the other guy..</title>
    <para>
     <xi:include href="book.xml">
      <xi:fallback>
       <error>xinclude: book.xml not found</error>
      </xi:fallback>
     </xi:include>
     <include>
      This is another namespace
     </include>
    </para>
    </chapter>
    EOD;
    $dom = new DOMDocument;

    // load the XML string defined above
    $dom->loadXML($xml);

    foreach ($dom->getElementsByTagNameNS('http://www.w3.org/2001/XInclude', '*') as $element) {
        echo 'local name: ', $element->localName, ', prefix: ', $element->prefix, "\n";
    }
    ?>

The above example will output:

    local name: include, prefix: xi
    local name: fallback, prefix: xi

### See Also

- DOMDocument::getElementsByTagName() - Searches for all elements with given local tag name