Thursday, October 9, 2025
HomeLanguagesPHP | DOMNamedNodeMap getNamedItemNS() function

PHP | DOMNamedNodeMap getNamedItemNS() function

The DOMNamedNodeMap::getNamedItemNS() function is an inbuilt function in PHP which is used to retrieve a node with a specific local name and namespace URI. This function can be used to get the value of a attribute from a specific namespace.

Syntax:

DOMNode DOMNamedNodeMap::getNamedItemNS
( string $namespaceURl, string $localName )

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

  • $namespaceURl: It specifies the namespace URI.
  • $localName: It specifies the local name.

Return Value: This function returns a node with given local name and namespace URI.

Below given programs illustrate the DOMNamedNodeMap::getNamedItemNS() function in PHP:

Program 1: In this example, we will get the attribute value of a element with two different namespaces.




<?php
// Create a new DOMDocument
$dom = new DOMDocument();
  
// Create an element with namespace
$node = $dom->createElementNS(
   "my_namespace", "x:p", 'Hello, this is my paragraph.');
  
// Add the node to the dom
$newnode = $dom->appendChild($node);
  
// Set the attribute with a namespace
$newnode->setAttributeNS("my_namespace", "style", "color:blue");
  
echo "<b>Attributes with my_namespace as namespace:</b> <br>";
  
// Get the attribute value
$attribute = 
   $node->attributes->getNamedItemNS('my_namespace', 'style')->nodeValue;
echo $attribute;
  
echo "<br><b>Attributes with other_namespace as namespace:</b> <br>";
  
// Get the attribute value
$attribute = 
   $node->attributes->getNamedItemNS('other_namespace', 'style')->nodeValue;
echo $attribute;
?>


Output:

Attributes with my_namespace as namespace:
color:blue
Attributes with other_namespace as namespace:
// Empty string means no attributes found.

Program 2: In this example we will check if the function fetches the latest attribute values or not by altering the value of attribute.




<?php
// Create a new DOMDocument
$dom = new DOMDocument();
  
// Create an element
$node = $dom->createElementNS("my_namespace", "x:p", 'neveropen');
  
// Add the node to the dom
$newnode = $dom->appendChild($node);
  
// Set the attribute with a namespace
$newnode->setAttributeNS("my_namespace", "style", "color:blue");
  
echo "<b>Before:</b> <br>";
  
// Get the attribute value
$attribute = 
    $node->attributes->getNamedItemNS('my_namespace', 'style')->nodeValue;
echo $attribute;
  
// Change the attribute value 
$newnode->setAttributeNS("my_namespace", "style", "color:red");
  
echo "<br><b>After:</b> <br>";
  
// Get the attribute value
$attribute = 
    $node->attributes->getNamedItemNS('my_namespace', 'style')->nodeValue;
echo $attribute;
?>


Output:

Before:
color:blue
After:
color:red

Reference: https://www.php.net/manual/en/domnamednodemap.getnameditemns.php

RELATED ARTICLES

Most Popular

Dominic
32342 POSTS0 COMMENTS
Milvus
87 POSTS0 COMMENTS
Nango Kala
6713 POSTS0 COMMENTS
Nicole Veronica
11876 POSTS0 COMMENTS
Nokonwaba Nkukhwana
11937 POSTS0 COMMENTS
Shaida Kate Naidoo
6833 POSTS0 COMMENTS
Ted Musemwa
7092 POSTS0 COMMENTS
Thapelo Manthata
6786 POSTS0 COMMENTS
Umr Jansen
6789 POSTS0 COMMENTS