Tuesday, February 24, 2026
HomeLanguagesPHP | DOMDocument getElementsByTagnameNS() Function

PHP | DOMDocument getElementsByTagnameNS() Function

The DOMDocument::getElementsByTagNameNS() function is an inbuilt function in PHP which is used to search for all elements with given tag name in specified namespace.

Syntax: 

DOMNodeList DOMDocument::getElementsByTagNameNS( 
            string $namespaceURI, string $localName )

Parameters: This function accepts two parameters as mentioned above and described below:  

  • $namespaceURI: It specifies the namespace URI of the elements to match on and * matches all namespaces.
  • $localName : It specifies the local name of the elements to match on and * matches all local names.

Return Value: This function returns a DOMNodeList of all elements with a given local name and a namespace URI.

Below given programs illustrate the DOMDocument::getElementsByTagNameNS() function in PHP:

Program 1: In this example, we will get localname and prefix of elements with a specific namespace. 

PHP




<?php
// Create an XML
$xml = <<<EOD
<?xml version="1.0" ?>
<!-- this is the namespace -->
<chapter xmlns:xi="my_namespace">
<title>Books of the other guy..</title>
<para>
    <xi:include>
        <xi:fallback>
        </xi:fallback>
    </xi:include>
</para>
</chapter>
EOD;
 
$dom = new DOMDocument;
  
// Load the XML string defined above
$dom->loadXML($xml);
  
// Use getElementsByTagName to get
// the elements from xml
foreach ($dom->getElementsByTagNameNS(
        'my_namespace', '*') as $element) {
    echo '<b>Local name:</b> ',
        $element->localName,
        ', <b>Prefix: </b>',
        $element->prefix, "<br>";
}
 
?>


Output: 

Local name: include, Prefix: xi
Local name: fallback, Prefix: xi

Program 2: In this example, we will get the number of elements of a certain namespace. 

PHP




<?php
// Create an XML
$xml = <<<EOD
<?xml version="1.0" ?>
<!-- this is the namespace -->
<chapter xmlns:xi="my_namespace">
<title>Books of the other guy..</title>
<para>
    <xi:include>        <!--  1st -->
        <xi:fallback>   <!--  2nd -->
        </xi:fallback>
    </xi:include>
    <xi:include>        <!--  3rd -->
        <xi:fallback>   <!--  4th -->
        </xi:fallback>
    </xi:include>
</para>
</chapter>
EOD;
  
$dom = new DOMDocument();
  
// Load the XML string defined above
$dom->loadXML($xml);
  
// It will count all occurrence of
// xi inside my_namespace
$elements = $dom->getElementsByTagNameNS(
            'my_namespace', '*');
 
print_r($elements->length);
?>


Output: 

4

Reference: https://www.php.net/manual/en/domdocument.getelementsbytagnamens.php
 

RELATED ARTICLES

Most Popular

Dominic
32506 POSTS0 COMMENTS
Milvus
131 POSTS0 COMMENTS
Nango Kala
6882 POSTS0 COMMENTS
Nicole Veronica
12005 POSTS0 COMMENTS
Nokonwaba Nkukhwana
12099 POSTS0 COMMENTS
Shaida Kate Naidoo
7011 POSTS0 COMMENTS
Ted Musemwa
7255 POSTS0 COMMENTS
Thapelo Manthata
6967 POSTS0 COMMENTS
Umr Jansen
6956 POSTS0 COMMENTS