(PHP 5, PHP 7, PHP 8)

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


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

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

Elenco dei parametri


The namespace URI of the elements to match on. The special value * matches all namespaces.


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

Valori restituiti

A new DOMNodeList object containing all the matched elements.

Log delle modifiche

Versione Descrizione
8.0.3 namespace is nullable now.


Example #1 Get all the XInclude elements


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

// load the XML string defined above

foreach (
$dom->getElementsByTagNameNS('''*') as $element) {
'local name: '$element->localName', prefix: '$element->prefix"\n";

Il precedente esempio visualizzerà:

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

Vedere anche:

add a note add a note

User Contributed Notes 1 note

RiKdnUA at mail dot ru
7 years ago
("display_errors","on"); error_reporting(-1);
$doc="<?xml version='1.0' encoding='WINDOWS-1251'?>
<htm:body xmlns:htm=''>
<htm:img htm:src='imgSrc'/>
$dom = new DOMDocument('1.0','WINDOWS-1251');
$domList=$dom->getElementsByTagNameNS('*','*');//all namespaces, all local names
echo "Количество элементов. The number of elements: ".$domList->length."<br />";// 2 (not 3)
for ($i=0; $i<$domList->length; $i++)
"Элемент $i. The element $i: ".$domList->item($i)->tagName."<br />";
Tested in PHP 5.2.9-2 and 5.2.17
The above example will output:
Количество элементов. The number of elements: 2
Элемент 0. The element 0: htm:body
Элемент 1. The element 1: htm:img

Вывод. Не найден элемент span
Conclusion. Not found span element
To Top