Thursday, September 4, 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
32264 POSTS0 COMMENTS
Milvus
81 POSTS0 COMMENTS
Nango Kala
6632 POSTS0 COMMENTS
Nicole Veronica
11800 POSTS0 COMMENTS
Nokonwaba Nkukhwana
11860 POSTS0 COMMENTS
Shaida Kate Naidoo
6749 POSTS0 COMMENTS
Ted Musemwa
7025 POSTS0 COMMENTS
Thapelo Manthata
6698 POSTS0 COMMENTS
Umr Jansen
6718 POSTS0 COMMENTS